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と言う感じで
順に入ってくれることを期待しているのに。
scanf() 系で EOFが返ってくるのは、エラー時です。
そもそも、書き込んだときのコードがないので適切な回答はできませんが、
strtok()や %d で解決できるような気がします。
ん? 1バイトずつやりたいだけ?
でしたら、あなたの勘違い。基礎が不足しています。
char[]で取得し、1バイトずつ代入してやればいいでしょう。
具体的な期待結果が不明なので、要点のみ。以上。
お返事ありがとうございます。
わかりました。
EOFは返っては来ないのですが、
PARTさんの言われるように、
もう単純に、fgetcshちえ、文字型で読んで、
その後は、atoiで整数型に変えるようにしたら
うまくいきました。
お騒がせしました。