0

ファイル内の次の 3 つの単語の行を読み取ろうとしました。

果物|リンゴ|レモン

char *type, *type2, *type3;

これを使用して: fscanf(file, "%[^|]|%[^|]|%s", type, type2, type3);

しかし、私はセグフォルトを取得しています。誰でも助けることができますか?

4

2 に答える 2

3

結果用にある程度のスペースを確保する必要があります。あなたの例から、type、type2、および type3 がすべて null であるように見えます。次のように、ヒープまたはスタック上のストレージを指す必要があります。

文字タイプ[64];

ただし、ここではバッファ オーバーフローに注意してください。それを回避する方法については、この他の質問を参照してください。

于 2013-05-09T04:02:35.543 に答える