【代码】
#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的输出是有区别的,谨记