Printf(%s)打印0

时间:2013-08-16 13:30:34

标签: c string numbers printf

我的项目中有这个命令(在C中):

int addFinalDataStr(char* value) 
{
    fprintf(objFile,"%-7.7s\n",value);
    fflush(objFile);
}

当我使用类似"60100"的值调用此方法时,它会打印"60100"没有问题, 但是当我用"37777777773"之类的字符串调用它时,它只打印出"0"

2 个答案:

答案 0 :(得分:0)

我认为您的错误是由编译器检查另一个编译器引起的(我建议您使用GCC编译器)并查看它是否有效。

答案 1 :(得分:0)

2 问题

printf("%-7.7s\n", "60100");
// should print "60100  ", not "60100" as OP states

printf("%-7.7s\n", "37777777773");
// should print "3777777", not "0".

似乎编译器不符合要求或帖子中缺少一些重要信息。