컴퓨터활용/유닉스
sprintf함수에서 포매팅 처리 방법
멜번초이
2018. 4. 25. 22:04
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" ); ==> []