printf format

mtak·2021년 1월 24일
0

42Seoul

목록 보기
4/13

printf format

%[parameter] [flags] [width] [.precision] [length] type

%[파라미터][플래그][프린트 할 것들 총합의 너비][결과가 숫자일 때 너비(정밀도)][데이터 타입의 범위]데이터 타입

%[n] [-+ 0’#] [* or 숫자] [. * or 숫자] [h,hh,l,ll,w,I,I32,I64,q,L,z,j,t] csdiuox..

flag

  • [-] 좌측정렬
  • [0] 너비에 맞게 빈 곳을 0으로 패딩
  • [.] 프리시전 = 정밀도 (= 숫자 서식에만 관여)
  • [ ] 너비에 맞게 빈 곳을 ‘ ‘로 채움
  • [*] 숫자 와일드카드. 가변인자로 값이 들어옴
  • [#] 0, 0x, 0X 붙이기
  • [+] +,- 부호 표시하기

width & precision

  • [숫자] 10진수 숫자가 곧 width, precision
  • [*] 가변인자로 width, precision의 크기가 들어옴
  • [%d, %i 등 정수 서식지정자] 가변인자로 받은 값이 곧 width, precision이자 데이터 타입이 받는 값.

consideration

  • 정수(d,i)일때는 precision이 실제 길이보다 짧으면 무시. (실제 숫자보다 더 큰 프리시전일 때만 작동)
  • precision에 음수가 할당되면 무시(없는 것으로 간주)
  • precision이 precision이면서 동시에 value일 때 주의(ex: %.d)
  • width이면서 value인 자리에 올 때는 width 무시(없는 것으로 간주)
  • width에 음수가 할당되면 ‘-‘플래그(좌측정렬) + 너비로 간주.

length

length + data typedata type
hhd,hhisigned char
hhu,hhx,hhXunsigned char
hd,hishort
hu,hx,hXunsigned short
ld,lilong
lld,llilong long
lu,lx,lXunsigned long
llu,llx,llXunsigned long long
lcwint_t
lswchar_t *

type

type
%t bool
%b 2진수
%c 문자
%d 10진수
%o 8진수
%x 16진수
%X 16진수
%f 고정소수점
%F 고정소수점
%e 지수 표현, e
%E 지수 표현, E
%g 간단한 실수 표현
%G 간단한 실수 표현
%s 문자열
%p 포인터
%u 부호 없는 정수형. unsigned int
%U 유니코드
%T 타입
%v 모든 형식

return

출력한 글자 수

ref
@yesong1

profile
노는게 젤 조아. 친구들 모여라!!

0개의 댓글