• ベストアンサー

fopne で失敗する原因

fopenで失敗する原因とはなんですか?

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

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

#1の方の回答に加えて... ・ファイル名の文字列がでたらめ(存在するかどうか以前の問題) ・指定したファイル名が実はディレクトリだった。 ・ファイル名に空ポインタまたは不正なポインタを渡した。 ・オープンモードに空ポインタまたは不正なポインタを渡した。 ・オープンモードの形式が不正 ・メモリ不足でバッファ(実装によってはファイル記述子も)の割り付けに失敗した。 ・同名の関数またはマクロをユーザーが定義した。 ・関数原型なしで呼び出した。 ・他のスレッド等で、同じファイルに対する操作中(再入可能とは限らないので)

nVIDIA
質問者

お礼

fopenのときNULLが返されなかったら処理を行うようにするのを、 NULLが返されたら処理するように設定していました。 自分のくだらないミスでした。 お騒がせしてすみません。 でも結構勉強にはなりましたのでありがとうございました。

その他の回答 (2)

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.2

実際のアプリケーションではmalloc出来ない(メモリを使い切った)ってのが多いです。 >ロックがかかっているって何ですか? 他のプロセスが既に、fopenで開けてるとかです。

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/fopen.3.html
  • NNori
  • ベストアンサー率22% (377/1669)
回答No.1

writeの場合 ・書き込むべき対象(ファイル名とかデバイス名)がない ・HDDに書き込む場合はHDDに空き容量がない ・書き込みたいファイルがロックされてる ・書き込む権利がない ・ファイルポインタが使い尽くされている Readの場合 ・読む対象(ファイル名とかデバイス名)がない ・読む権利がない ・ロックがかかっている ・ファイルポインタが使い尽くされている ありゃあ同じようだなぁ。まだあるかなぁ....

nVIDIA
質問者

補足

ロックがかかっているって何ですか?

関連するQ&A