0Pricing
Zig Academy · 강의

std.fmt로 텍스트 형식 지정하기

형식 지정자로 문자열을 만듭니다.

std.fmt로 텍스트 형식 지정하기은(는) CoddyKit의 무료 Zig Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Zig Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Zig Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

서식 지정이 필요한 이유

실제 프로그램은 이름, 개수, 가격 같은 값을 텍스트에 조합합니다. Zig에서는 std.fmt와 그 서식 문자열 미니 언어를 사용합니다.

중괄호 안의 자리 표시자

서식 문자열은 {}를 자리 표시자로 사용합니다. 중괄호 한 쌍마다 함께 전달한 튜플에서 다음 인수를 가져옵니다.

std.debug.print("x = {}\n", .{42});

인수는 튜플에 넣습니다

인수는 익명 튜플로 전달하며, .{ a, b }와 같이 작성합니다. 인수가 하나뿐이어도 이 튜플 형식 안에 넣어야 합니다.

std.debug.print("{} {}\n", .{1, 2});

문자열 지정자

{s}를 사용하면 []const u8을 텍스트로 출력할 수 있습니다. 일반적인 {}는 대신 포인터와 길이로 이루어진 구조체처럼 슬라이스의 서식을 지정하려고 합니다.

std.debug.print("{s}\n", .{"hi"});

진법 지정하기

{x}는 16진수, {b}는 2진수, {o}는 8진수처럼 지정자를 사용해 정수의 진법을 제어할 수 있습니다. 저수준 디버깅에 유용합니다.

std.debug.print("{x}\n", .{255}); // ff

너비와 채우기

{d:5}처럼 콜론을 사용해 값을 고정된 너비로 맞출 수 있습니다. 숫자를 깔끔하고 읽기 쉬운 열에 맞춰 정렬할 수 있습니다.

std.debug.print("{d:5}\n", .{7});

부동 소수점 정밀도

{d:.2}와 같은 정밀도 필드로 소수점 이하 자릿수를 제한할 수 있습니다. 그러면 소수점 뒤에 정확히 두 자리를 출력합니다.

std.debug.print("{d:.2}\n", .{3.14159});

중괄호 이스케이프하기

출력에 중괄호를 그대로 넣어야 하나요? 두 번 쓰면 됩니다: {{은 { 하나를 출력하고 }}는 } 하나를 출력합니다. 이렇게 하면 자리 표시자를 혼동하지 않을 수 있습니다.

std.debug.print("{{x}}\n", .{});

문자열 만들기

stdout 대신 메모리에 형식을 지정하려면 std.fmt.allocPrint를 호출합니다. 이 함수는 텍스트를 담은 새로운 []u8을 할당하여 반환합니다.

const s = try std.fmt.allocPrint(
    alloc, "id={}", .{id});

할당한 것은 해제하기

allocPrint는 할당자를 사용하므로 결과의 소유권은 여러분에게 있으며 반드시 free해야 합니다. 호출 직후 defer를 사용하면 정리를 깔끔하게 처리할 수 있습니다.

defer alloc.free(s);

bufPrint를 사용한 고정 버퍼

힙을 전혀 사용하고 싶지 않다면 자신의 배열에 std.fmt.bufPrint로 작성합니다. 이 함수는 실제로 사용한, 내용이 채워진 슬라이스를 반환합니다.

var buf: [16]u8 = undefined;
const out = try std.fmt.bufPrint(&buf, "{}", .{9});

빠른 확인

[]const u8 값을 출력할 때 읽기 쉬운 텍스트로 표시하려고 합니다.

복습

std.fmt로 텍스트 형식을 지정했습니다. {} 및 {s} 자리 표시자, 진법, 너비, 정밀도와 문자열을 위한 allocPrint 및 bufPrint도 살펴보았습니다. 🎨

자주 묻는 질문

“std.fmt로 텍스트 형식 지정하기” 강의는 무료인가요?

네 — “std.fmt로 텍스트 형식 지정하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Zig Academy 강의 전체를 잠금 해제할 수 있습니다. Zig Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“std.fmt로 텍스트 형식 지정하기”에서 뭘 배우나요?

형식 지정자로 문자열을 만듭니다. 브라우저에서 직접 실행하는 실습 코드로 Zig Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Zig Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Zig Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“std.fmt로 텍스트 형식 지정하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Zig Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Zig Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 문자열은 []const u8입니다
  2. 문자열 리터럴과 이스케이프
  3. 바이트 비교와 검색
  4. std.fmt로 텍스트 형식 지정하기
← Zig Academy(으)로 돌아가기