티스토리 뷰

sprintf함수에서 포매팅 처리 방법을 실험해 봤다.

 

1) 숫자처리

 

%4d는 네 자리의 십진수를 표시하되 네 자리가 안될 때에는 공백으로 대체합니다. 
%.4d는 네 자리가 안될 경우 0으로 대체합니다.

 

2) 문자열 처리


%.10s 는 space_buf 값에서 최대 10문자만 출력합니다.

이것은 %10s 처럼 중간에 쩜(.) 이 없는경우와 다릅니다.

(.)이 없으면 즉 %10s 라면 무조건 자리를 10개 확보하고 그곳에 space_buf 의 값을

출력하는데 만얀 space_buf 의 내용이 10개가 모라라면 나머지 공간은

앞부분에 공백으로 남습니다. 그러나 %.10s 는 10개가 모자라도 공백을 주지 않고 바로 다음것을 이어서 씁니다.

 

 

예)

printf([%d],    1234 ); ==> [1234]
printf([%.d],   1234 ); ==> [1234]
printf([%10d],  1234 ); ==> [      1234]
printf([%010d], 1234 ); ==> [0000001234]
printf([%.10d], 1234 ); ==> [0000001234]

printf([%10s],  "1234" ); ==> [      1234]
printf([%010s], "1234" ); ==> [0000001234]
printf([%.10s], "1234" ); ==> [1234]
printf([%s],    "1234" ); ==> [1234]
printf([%.s],   "1234" ); ==> []

댓글
댓글쓰기 폼