fprintf(fptr2,"\n\n:%s",ctime(&t),"\t ","\t");
这行在dev中工作正常但在ubuntu中没有,因为它产生了以下错误
warning: too many arguments for format [-Wformat-extra-args]
fprintf(fptr2,"\n\n:%s",ctime(&t),"\t ","\t");
^
我该怎么办?
答案 0 :(得分:0)
fprintf
采用可变数量的参数:
FILE*
输出流%
格式的一个额外参数,如果指定为*
,则以可选的宽度和/或精度开头。你应该只有一个额外的参数,一个%s
格式的字符串。
额外的参数"\t"
和"\t"
被简单地忽略了,但是编译器会给你一个诊断,因为它们的存在可能表示一些编程错误。
这样的警告是一种祝福,因为它们可以防止许多愚蠢的错误,从错别字到争论类型不匹配。您的dev
环境配置为保持安静,对您不利。请您修复它:添加编译器选项,例如-Wall -W
或-Weverything
。