컴퓨터활용/유닉스

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" ); ==> []

'컴퓨터활용 > 유닉스' 카테고리의 다른 글

쉘에서 date 사용  (0) 2020.03.09
vi 에서 탭 문자 찾기  (0) 2019.04.19
ipcs, ipcrm 으로 공유메모리 삭제 방법  (1) 2018.04.25
pfmNumCalc 인자 개수 체크 쉘  (2) 2017.12.16
Lock option has no effect for the map  (0) 2017.07.19