VC++6でコンパイルは通るのに、
またFILEは間違い無くオープンしているのに、
Char CframeNo[15];
FILE *hff; /* これは、FILEを
開いた後、関数への
パラメータとして
渡している */
/* 関数内では */
if (fgetc(CFrameNo,16,hff) == NULL
{
}
のif文に来たらDebug Libraryからの
エラー。
その内容は、
Debug Asssertion Failed!
Filr: fgets.c
Line: 60
Expression str != NULL
For information on how your program can cause an assrtion failure, see the
Visual C++ documentation on asserts.
(Press Retry to debug the application)
とのこと。
他の箇所では、このような書き方のfgetsをしたところは通っているのに、
どこをどう直せば?
Char CframeNo[15];
というのは
char CframeNo[15];
ということかな?
fgets(CframeNo, 16, hff)
だとしたら、2番目の16の意味を分かって使ってます?
今までうまくいっていたのだとしたら、
データの中にうまい具合に'\n'が含まれていたからだと思われます
ソースを見るとfgets()の定義は以下のようになってます。
char * fgets (_TSCHAR *string, int count, FILE *str)
これでstr != NULLでアサートが発生している
→strがNULLだからアサートが発生している。
ファイルのオープンに失敗しているのではないでしょうか?
ぽこさんのおっっしゃるのが、正しかったです。
皆さんいろいろありがとうございました。
ファイルに小数点の数字を羅列させようとしているのですが、
#QNAND01 #IND00-1という数字が並ぶのですが、
これはどういうことでしょうか?
とりあえず掲題の件はクローズされて、
新規に投稿し直してはいかがでしょうか?
#kuさんがご指摘された箇所も危険ですね^^;
ありがとうございます。