- ベストアンサー
fscanfの使い方。
while(fscanf(fpi,"%[^ ]",s[i]) != EOF){//スペース毎にファイルを配列に読み込む。 while文内に入り込めないんで多分間違ってます。 sはchar型で宣言しています。 fpiは読み込み形式です。 何が間違っているかわかりません。 よろしくおねがいします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
EOF判定はfeofを使ったらどうでしょうか あと、%[…]は、%sと同じだから >sはchar型で宣言しています。 だったらおかしいんじゃないかな
その他の回答 (2)
- ihsak
- ベストアンサー率0% (0/1)
回答No.3
最適な回答ではないですが気がしますが、下記の修正で可能だと思います。 while(fscanf(fpi,"%[^ ]",&s[i]) != EOF) もしくは while(fscanf(fpi,"%[^ ]",s) != EOF) ですね。 sはポインタではないのですよね?
質問者
お礼
1からやり直そうと思います。 ありがとうございました。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
回答No.1
fscanfの返値は確認しましたか? 確認した場合、その返値になる理由は何か、分かりましたか?
質問者
お礼
確認しました。 もう一度0からやってみることにしました。 ありがとうございました。
お礼
いつもお世話になってます。 feof今週習いました。 使ってみます。 ありがとうございました。