うまく、ファイルをfscanfで読めず – プログラミング – Home

うまく、ファイルをfscanfで読めず
 
通知
すべてクリア

[解決済] うまく、ファイルをfscanfで読めず


たか
 たか
(@たか)
ゲスト
結合: 25年前
投稿: 73
Topic starter  

fprintfで、順番に書かせていった、
10129141401032120
993277705599599299999999999 9999
って言うようなデータですが、
逆にfscanfで読ませようとしたら、
FILE *fj;
int ReadParam;
int L1;

if ((fj = fopen(ShaFi.doc,r+)) == NULL)
{
  printf(file open error!!\n);
  exit(7);
}
でファイルを開くのに成功しているのに、
for (L1=0;L1<=145;L1++)
{
if ((j = fscanf(fj, %d, &ReadParam)) != EOF)
{
::::::::::::::::::::::
::::::::::::::::::::::
::::::::::::::::::::::
}
else
exit(6);
}
において、EOFにならない(jは1が帰って来る)
のに、ReadParamに入って来るのは、
-2095671880とか、1385605119
というような、桁の大きな数値ばかり。
当然、ReadParamには、
ファイル、Shafi.docの頭から入っている数値どおり、
1、0、1、2と言う感じで
順に入ってくれることを期待しているのに。


引用未解決
トピックタグ
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

scanf() 系で EOFが返ってくるのは、エラー時です。
そもそも、書き込んだときのコードがないので適切な回答はできませんが、
strtok()や %d で解決できるような気がします。

ん? 1バイトずつやりたいだけ?
でしたら、あなたの勘違い。基礎が不足しています。
char[]で取得し、1バイトずつ代入してやればいいでしょう。

具体的な期待結果が不明なので、要点のみ。以上。


返信引用
たか
 たか
(@たか)
ゲスト
結合: 25年前
投稿: 73
Topic starter  

お返事ありがとうございます。
わかりました。
EOFは返っては来ないのですが、
PARTさんの言われるように、
もう単純に、fgetcshちえ、文字型で読んで、
その後は、atoiで整数型に変えるようにしたら
うまくいきました。

お騒がせしました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました