- ベストアンサー
fopne で失敗する原因
fopenで失敗する原因とはなんですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1の方の回答に加えて... ・ファイル名の文字列がでたらめ(存在するかどうか以前の問題) ・指定したファイル名が実はディレクトリだった。 ・ファイル名に空ポインタまたは不正なポインタを渡した。 ・オープンモードに空ポインタまたは不正なポインタを渡した。 ・オープンモードの形式が不正 ・メモリ不足でバッファ(実装によってはファイル記述子も)の割り付けに失敗した。 ・同名の関数またはマクロをユーザーが定義した。 ・関数原型なしで呼び出した。 ・他のスレッド等で、同じファイルに対する操作中(再入可能とは限らないので)
その他の回答 (2)
- t_nojiri
- ベストアンサー率28% (595/2071)
回答No.2
実際のアプリケーションではmalloc出来ない(メモリを使い切った)ってのが多いです。 >ロックがかかっているって何ですか? 他のプロセスが既に、fopenで開けてるとかです。
- NNori
- ベストアンサー率22% (377/1669)
回答No.1
writeの場合 ・書き込むべき対象(ファイル名とかデバイス名)がない ・HDDに書き込む場合はHDDに空き容量がない ・書き込みたいファイルがロックされてる ・書き込む権利がない ・ファイルポインタが使い尽くされている Readの場合 ・読む対象(ファイル名とかデバイス名)がない ・読む権利がない ・ロックがかかっている ・ファイルポインタが使い尽くされている ありゃあ同じようだなぁ。まだあるかなぁ....
質問者
補足
ロックがかかっているって何ですか?
お礼
fopenのときNULLが返されなかったら処理を行うようにするのを、 NULLが返されたら処理するように設定していました。 自分のくだらないミスでした。 お騒がせしてすみません。 でも結構勉強にはなりましたのでありがとうございました。