• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語のプログラムなのですが、エラーの原因がわからずに困っています。)

C言語プログラムの実行エラーの原因と解決方法

このQ&Aのポイント
  • C言語プログラムを実行中にエラーが発生し、ファイルが開けない状況になっています。最初の1000回は問題なく実行できるが、1020回目でエラーが発生しています。
  • 原因として考えられるポイントは以下の通りです。1. ファイルの存在確認をする必要があるか 2. プログラムのメモリ管理に問題があるか 3. ファイルへの同時アクセスの問題があるか
  • 解決方法としては、以下のような対処が考えられます。1. ファイルの存在を確認した上で処理を行う 2. プログラムのメモリ管理を見直す 3. ファイルへのアクセスを排他的に行う

質問者が選んだベストアンサー

  • ベストアンサー
  • u-bot
  • ベストアンサー率58% (1736/2988)
回答No.1

fopenばかりしてfcloseしていないからです。 同時にfopenできる数は上限があります。 参考:http://soudan1.biglobe.ne.jp/qa5126169.html ---- mallocしたらfreeするのと同じくらいfopenしたらfcloseするのが鉄則

Stealth7
質問者

お礼

言われてみればそうでしたね。 ついうっかりしてました。 ありがとうございました。

その他の回答 (1)

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.2

エラーチェックをするのはよいクセですが、エラーの発生だけでなく、原因究明のための情報を同時に出力した方がよいでしょう。 printf("Error\n"); の場所で perror(files); としておけばエラーの発生したファイル名とともに、システム標準のエラーメッセージが表示されます。

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/perror.3.html