いいところまで、バグを追い詰めたと思ったら、
return(0L);
これ、この後、またステップ・オーバーで
やると、変なコード(アセンブラー?)が
走るて走っているところがわからなくなるし、
本当は、そのRETURNコマンドの
直後の戻り先に飛んで、トレースを続けたいのですが、
どうやればいいのでしょうか?
どこに戻ってくるべきかは分かってますよね?
であれば、目当ての箇所にブレークポイントを張って待ち構えるとか。
なんとか、ここは切り抜けて止まっているところがわかりました。
fopenです。
なぜか、オープンするファイルは、当該DIRECTRYに存在するにも
かかわらず、NULLが帰ってくるのです。
どんなことが考えられますか?
ファイルを変えてみても同じです。
何でこうなるのか(結構長いループをやっているうちに出る。
ただ不思議なことに、どういった違うRAMの容量を持つパソコンを使っても、
それが出る個所(2重ループの何重目かの値)が同じなのです)
わからないのですが、
確実にFOPEN
出来るように、このFOPENコマンドの直前に、何らかの
処置は出来ないのでしょうか?
ファイルがこのCのファイルを実行しているのと同じ個所にあるのは間違いないです。
単なるfcloseし忘れ
>どんなことが考えられますか?
プログラムのバグ。 その他はMSDNを参照。
>確実にFOPEN
>出来るように、このFOPENコマンドの直前に、何らかの
>処置は出来ないのでしょうか?
アクセスして存在や書き込み権限など確認してみては?
まぁ、できない時はできないけど。
想像を膨らませれば原因は色々考えられますが
ソースをみないことにはなんとも言えません。
「ファイルが壊れてるんじゃない?スキャンディスクでもすれば」
と書かれたくなければソースを提示しましょう。 あ、書いちゃった。。
>ただ不思議なことに、どういった違うRAMの容量を持つパソコンを使っても、
>それが出る個所(2重ループの何重目かの値)が同じなのです)
なぜRAMにこだわるのか? だれかを思い出しますねぇ。
まず日本語を勉強するべきでは?
どのパソコンでも同じ現象がおきるのなら、RAMは
関係なくプログラムのどこかが間違っていると考えられます。
というわけで、ソースコードを提示するのが
解決への近道かと思いますが。
fopen でのファイル名の指定の時に例えば C:\WinNT\aaa.txt を C:\WinNT\aaa.txt
とか、記述してませんよね?
C:\\WinNT\\aaa.txt のように記述してますよね?