警告:格式的参数太多 - fprintf

时间:2012-02-16 10:05:45

标签: c++ c gcc warnings

    pthread_t      writeToFile = pthread_self ();
    unsigned short iterate;

    for (iterate = 0; iterate < 10000; iterate++)
    {
        fprintf (fp, " %d ",  iterate,     4);
        fprintf (fp, " %lu ", writeToFile, sizeof (pthread_t));
        fprintf (fp, "\n",    writeToFile, 1);
    }

在main()fp = fopen ("xyz", "w");

警告:warning: too many arguments for format

从这里开始:http://www.cplusplus.com/reference/clibrary/cstdio/fprintf/

我的代码出了什么问题?

gcc version 4.5.0

1 个答案:

答案 0 :(得分:3)

让我们来看你的第一个fprintf" %d "。它需要一个参数(一个int),但你给它两个 - 迭代和4.

看起来你正在添加数据的大小,但你不应该。应该是:

fprintf (fp, " %d ",  iterate);

在另外两句话中,你甚至不清楚你想把什么放在文件中。