我的项目中有这个命令(在 C 中):
int addFinalDataStr(char* value)
{
fprintf(objFile,"%-7.7s\n",value);
fflush(objFile);
}
当我使用类似的值调用此方法时"60100"
,它可以毫无问题地打印"60100"
,但是当我使用类似的字符串调用它时,"37777777773"
它只会打印出来"0"
。
There are 2 issues
printf("%-7.7s\n", "60100");
// should print "60100 ", not "60100" as OP states
printf("%-7.7s\n", "37777777773");
// should print "3777777", not "0".
It appears the compiler is not compliant or something critical is missing from the post.
我认为您的错误是由编译器与另一个编译器检查引起的(我建议您使用 GCC 编译器)并查看它是否有效。