プロが教える店舗&オフィスのセキュリティ対策術

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

gooドクター

A 回答 (3件)

#1の方の回答に加えて...



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

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

お礼日時:2006/02/11 10:49

実際のアプリケーションではmalloc出来ない(メモリを使い切った)ってのが多いです。



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

他のプロセスが既に、fopenで開けてるとかです。

参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …
    • good
    • 0

writeの場合


・書き込むべき対象(ファイル名とかデバイス名)がない
・HDDに書き込む場合はHDDに空き容量がない
・書き込みたいファイルがロックされてる
・書き込む権利がない
・ファイルポインタが使い尽くされている

Readの場合
・読む対象(ファイル名とかデバイス名)がない
・読む権利がない
・ロックがかかっている
・ファイルポインタが使い尽くされている

ありゃあ同じようだなぁ。まだあるかなぁ....

この回答への補足

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

補足日時:2006/02/11 01:17
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング