반응형
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 포매팅 처리 방법이 다르다는 것을 기억하고 테스트를 잘 해야 한다.
반응형