- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語のプログラムなのですが、エラーの原因がわからずに困っています。)
C言語プログラムの実行エラーの原因と解決方法
このQ&Aのポイント
- C言語プログラムを実行中にエラーが発生し、ファイルが開けない状況になっています。最初の1000回は問題なく実行できるが、1020回目でエラーが発生しています。
- 原因として考えられるポイントは以下の通りです。1. ファイルの存在確認をする必要があるか 2. プログラムのメモリ管理に問題があるか 3. ファイルへの同時アクセスの問題があるか
- 解決方法としては、以下のような対処が考えられます。1. ファイルの存在を確認した上で処理を行う 2. プログラムのメモリ管理を見直す 3. ファイルへのアクセスを排他的に行う
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
fopenばかりしてfcloseしていないからです。 同時にfopenできる数は上限があります。 参考:http://soudan1.biglobe.ne.jp/qa5126169.html ---- mallocしたらfreeするのと同じくらいfopenしたらfcloseするのが鉄則
その他の回答 (1)
- toysmith
- ベストアンサー率37% (570/1525)
回答No.2
エラーチェックをするのはよいクセですが、エラーの発生だけでなく、原因究明のための情報を同時に出力した方がよいでしょう。 printf("Error\n"); の場所で perror(files); としておけばエラーの発生したファイル名とともに、システム標準のエラーメッセージが表示されます。
お礼
言われてみればそうでしたね。 ついうっかりしてました。 ありがとうございました。