ファイル内の次の 3 つの単語の行を読み取ろうとしました。
果物|リンゴ|レモン
char *type, *type2, *type3;
これを使用して: fscanf(file, "%[^|]|%[^|]|%s", type, type2, type3);
しかし、私はセグフォルトを取得しています。誰でも助けることができますか?
ファイル内の次の 3 つの単語の行を読み取ろうとしました。
果物|リンゴ|レモン
char *type, *type2, *type3;
これを使用して: fscanf(file, "%[^|]|%[^|]|%s", type, type2, type3);
しかし、私はセグフォルトを取得しています。誰でも助けることができますか?
結果用にある程度のスペースを確保する必要があります。あなたの例から、type、type2、および type3 がすべて null であるように見えます。次のように、ヒープまたはスタック上のストレージを指す必要があります。
文字タイプ[64];
ただし、ここではバッファ オーバーフローに注意してください。それを回避する方法については、この他の質問を参照してください。