AIX和Linux上,sprintf函数的不同

【代码】

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

原文地址:https://www.cnblogs.com/muyuetiankong/p/2282981.html