이번 포스팅은 Type별 printf의 서식문자가 아니고 출력할 크기 및 옵션을 지정하는 서식문자에 대한 포스팅이다.
크기 및 옵션
Format: %[flags][width][.percision]specifier
[flags]와 [width]옵션
- width 옵션
설명 숫자 숫자 만큼의 자리수로 출력 * * 에 들어가는 변수값의 자리수로 출력 - flag 옵션
설명 - 왼쪽 정렬로 출력 (Defalut: 오른쪽 정렬) # 8진법, 16진법 표기에 맞추어 0 혹은 0x를 출력 + 양수에는 +, 음수에는 - 기호를 붙여서 출력 (빈칸) 양수일때는 빈칸, 음수일때는 - 기호를 붙여서 출력 0 남는 공간을 0으로 채워서 출력
/* flags 및 width 옵션 예제 */
printf("%5d", 3); // output: " 3"
// 총 출력칸이 5칸으로 설정되고 Defalut가 오른쪽 정렬
printf("%*d", 5, 3); // output: " 3"
// 총 출력칸이 5칸으로 설정되고 오른족정렬하여 출력
printf("%-5d", 3); // output: "3 "
// 총 출력칸이 5칸으로 설정되고 - flag로 인해서 왼쪽 정렬
printf("%#x", 10); // output: 0xa
// 16진수 출력인 x로 했고 #으로 인해서 16 진수 표기법인 0x가 삽입
printf("%05d", 3); // output: 00003
// 5칸으로 설정되고 숫자가 출력되지 않는 남는 공간은 0으로 채워짐.
[.precision] 옵션
설명 | |
---|---|
.숫자 | 숫자 만큼의 정확도로 실수 출력 |
.* | .* 에 들어가는 변수값의 정확도로 실수 출력 |
/* .precision 옵션 예제 */
printf("%.3f", 1.2334556); // output: 1.233
// 정확도가 3자리로 표현되었기에 소숫점 3자리까지 출력
printf("%.2d", 4); // output: 04
// 정확도가 표시되어야 하기에 2자리로 04로 출력
printf("%.*d", 2, 4); // output: 04
// %.2d 와 같은 표시
728x90
'Language > C' 카테고리의 다른 글
[C/C++] #if ... #elif ... #endif 할때 정의 조건문 넣는방법 (0) | 2024.04.27 |
---|---|
[C] typedef struct와 타입 전방 선언으로 인한 C2371 오류 (0) | 2023.01.03 |
[C, C++] 가변인자를 가지는 매크로 구현하기 (0) | 2022.08.19 |
[Complie Process] 컴파일의 4단계 과정 (0) | 2022.02.03 |
[C] ANSI Escape sequences (0) | 2021.10.04 |
댓글