AIX和Linux上,sprintf函数的不同

Posted on 2011-12-10 00:40  木月天空  阅读(460)  评论(0)    收藏  举报

【代码】

#include <stdio.h>

int main()
{
  char szTmp[100];

  sprintf(szTmp, "%-03s|%03s|%03d", "1", "1", 1);
  printf("[%s]\n", szTmp);

  return (0);
}

 

【Linux环境】

>uname -a

Linux version 2.6.9-42.EL (bhcompile@hs20-bc1-1.build.redhat.com) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-2)) #1 Wed Jul 12 23:16:43 EDT 2006

代码输出:[1  |  1|001]

 

【Aix环境】

AIX 6.1

代码输出:[1  |001|001]

 

【结论】

在linux和aix环境下,sprintf函数对于%s的输出是有区别的,谨记