3

私は学校のプロジェクトを行っていますが、これは私を悩ませ続ける警告です. 私のコードの何が問題なのですか?

fprintf(fp,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%d\n", Item[i]->ID, Item[i]->Date, Item[i]->Adress,
                                       Item[i]->Street number, Item[i]->Postal Code,
                                       Item[i]->City, Item[i]->Phone,Item[i]->Name,
                                       Item[i]->Price);

また、別の警告があります。

警告: フォーマット '%d' は 'int' 型の引数を想定していますが、引数 10 は 'char *' 型です [-Wformat]

どうすればいいのかわからない

4

2 に答える 2

8

呼び出しfprintfには 8 つの書式指定子がありますが、これらを埋めるためにさらに 9 つの引数を渡します。

8 番目の書式指定子は%d; これに対応する引数は ですItem[i]->Name。警告は、それItem[i]->Nameが文字列であるため、符号付き整数に変換できない (すべきではない) ことを示しています。

Item[i]->Priceタイプがあると思いintます; %s次に、フォーマット文字列 ( の前の任意の場所) にエクストラを追加するか%d、文字列引数の 1 つを削除する必要があります。

于 2013-06-13T16:03:57.813 に答える