본문 바로가기

카테고리 없음

U2L프로젝트 sprintf 포매팅

반응형

HP 에서 동작하는 것과 linux에서는 sprintf 사용시 포매팅에서 결과값이 차이가 있다.

[HP에서는]  포매팅에 0 이 있으면 0을 채워준다. 
sprintf(tmp, "%05s", "12") -> [00012]
sprintf(tmp, "%5s", "12") -> [   12]
sprintf(tmp, "%05ld", 12) -> [00012]
sprintf(tmp, "%5ld", 12) -> [   12]

[리눅스에서는] %ld는 0을 채우고 %s는 스페이스를 채운다
sprintf(tmp, "%05s", "12") -> [   12]
sprintf(tmp, "%5s", "12" )   -> [   12]
sprintf(tmp, "%05ld", 12 )  -> [00012]
sprintf(tmp, "%5ld", 12)  ->  [00012]

아뭏든 HP와 리눅스는 printf 포매팅 처리 방법이 다르다는 것을 기억하고 테스트를 잘 해야 한다.

 

 

 

 

반응형