Motivation

printf를 할 때나, CERN ROOT에서 TStringForm을 사용할 때 늘 서식 지정자를 뭘 써야 하나 헷갈려서 여기에 정리해 둠.

서식 지정자 (Format Specifier)

서식 지정자는 다음과 같은 형식으로 사용:

%[플래그][넓이][.(정밀도)][길이]서식지정자

서식 지정자의 종류는 다음과 같음:

서식 지정자자료형의미미
%cchar문자
%schar*, char[]문자열
%hd or %hishort int부호 포함 2 bytes 크기 정수
%d or %iint부호 포함 int 크기 정수
%ld or %lilong int부호 포함 long 크기 정수
%lld or %llilong long int부호 포함 8 bytes 크기 정수
%huunsigned short int부호 미포함 2 bytes 크기 정수
%uunsigned int부호 미포함 int 크기 정수
%luunsigned long int부호 미포함 long 크기 정수
%lluunsigned long long int부호 미포함 8 bytes 크기 정수
%hounsigned short int부호 미포함 2 bytes 크기 정수 (8진수)
%ounsigned int부호 미포함 int 크기 정수 (8진수)
%lounsigned long int부호 미포함 long 크기 정수 (8진수)
%llounsigned long long int부호 미포함 8 bytes 크기 정수 (8진수)
%hxunsigned short int부호 미포함 2 bytes 크기 정수 (16진수)
%xunsigned int부호 미포함 int 크기 정수 (16진수)
%lxunsigned long int부호 미포함 long 크기 정수 (16진수)
%llxunsigned long long int부호 미포함 8 bytes 크기 정수 (16진수)
%hXunsigned short int부호 미포함 2 bytes 크기 정수 (16진수, 대문자로)
%Xunsigned int부호 미포함 int 크기 정수 (16진수, 대문자로)
%lXunsigned long int부호 미포함 long 크기 정수 (16진수, 대문자로)
%llXunsigned long long int부호 미포함 8 bytes 크기 정수 (16진수, 대문자로)
%ffloat소수점 표기 4 bytes 크기 실수
%lfdouble소수점 표기 8 bytes 크기 실수
%llf or %Lflong double소수점 표기 long double 크기 실수
%efloat지수 표기 4 bytes 크기 실수
%ledouble지수 표기 8 bytes 크기 실수
%Lelong double지수 표기 long double 크기 실수
%Efloat지수 표기 4 bytes 크기 실수 (대문자 E)
%lEdouble지수 표기 8 bytes 크기 실수 (대문자 E)
%LElong double지수 표기 long double 크기 실수 (대문자 E)
%gfloat%f%e 중에 짧은 거
%lgdouble%lf%le 중에 짧은 거
%Lglong double%Lf%Le 중에 짧은 거
%Gfloat%f%e 중에 짧은 거 (대문자 E)
%lgdouble%lf%le 중에 짧은 거 (대문자 E)
%Lglong double%Lf%Le 중에 짧은 거 (대문자 E)

0개의 댓글

답글 남기기

아바타 플레이스홀더