该程序在一个平台上打印带有前导0的字符串,而不是另一个平台.
#include <stdio.h>
#include <string.h>
int main(void)
{
char test[20];
char a[4]="a12";
sprintf(test,"%019s\n",a);
printf("%s\n",test);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
Solaris : 0000000000000000a12
RHEL : a12 (left padding with spaces)
Run Code Online (Sandbox Code Playgroud)
如何在两个平台上获得前导零?