Motivation
printf
를 할 때나, CERN ROOT에서 TString
의 Form
을 사용할 때 늘 서식 지정자를 뭘 써야 하나 헷갈려서 여기에 정리해 둠.
서식 지정자 (Format Specifier)
서식 지정자는 다음과 같은 형식으로 사용:
%[플래그][넓이][.(정밀도)][길이]서식지정자
서식 지정자의 종류는 다음과 같음:
서식 지정자 | 자료형 | 의미미 |
%c | char | 문자 |
%s | char* , char[] | 문자열 |
%hd or %hi | short int | 부호 포함 2 bytes 크기 정수 |
%d or %i | int | 부호 포함 int 크기 정수 |
%ld or %li | long int | 부호 포함 long 크기 정수 |
%lld or %lli | long long int | 부호 포함 8 bytes 크기 정수 |
%hu | unsigned short int | 부호 미포함 2 bytes 크기 정수 |
%u | unsigned int | 부호 미포함 int 크기 정수 |
%lu | unsigned long int | 부호 미포함 long 크기 정수 |
%llu | unsigned long long int | 부호 미포함 8 bytes 크기 정수 |
%ho | unsigned short int | 부호 미포함 2 bytes 크기 정수 (8진수) |
%o | unsigned int | 부호 미포함 int 크기 정수 (8진수) |
%lo | unsigned long int | 부호 미포함 long 크기 정수 (8진수) |
%llo | unsigned long long int | 부호 미포함 8 bytes 크기 정수 (8진수) |
%hx | unsigned short int | 부호 미포함 2 bytes 크기 정수 (16진수) |
%x | unsigned int | 부호 미포함 int 크기 정수 (16진수) |
%lx | unsigned long int | 부호 미포함 long 크기 정수 (16진수) |
%llx | unsigned long long int | 부호 미포함 8 bytes 크기 정수 (16진수) |
%hX | unsigned short int | 부호 미포함 2 bytes 크기 정수 (16진수, 대문자로) |
%X | unsigned int | 부호 미포함 int 크기 정수 (16진수, 대문자로) |
%lX | unsigned long int | 부호 미포함 long 크기 정수 (16진수, 대문자로) |
%llX | unsigned long long int | 부호 미포함 8 bytes 크기 정수 (16진수, 대문자로) |
%f | float | 소수점 표기 4 bytes 크기 실수 |
%lf | double | 소수점 표기 8 bytes 크기 실수 |
%llf or %Lf | long double | 소수점 표기 long double 크기 실수 |
%e | float | 지수 표기 4 bytes 크기 실수 |
%le | double | 지수 표기 8 bytes 크기 실수 |
%Le | long double | 지수 표기 long double 크기 실수 |
%E | float | 지수 표기 4 bytes 크기 실수 (대문자 E) |
%lE | double | 지수 표기 8 bytes 크기 실수 (대문자 E) |
%LE | long double | 지수 표기 long double 크기 실수 (대문자 E) |
%g | float | %f 와 %e 중에 짧은 거 |
%lg | double | %lf 와 %le 중에 짧은 거 |
%Lg | long double | %Lf 와 %Le 중에 짧은 거 |
%G | float | %f 와 %e 중에 짧은 거 (대문자 E) |
%lg | double | %lf 와 %le 중에 짧은 거 (대문자 E) |
%Lg | long double | %Lf 와 %Le 중에 짧은 거 (대문자 E) |
0개의 댓글