No.15693![]() |
ファイルの有無 投稿者---あっぷ(2004/07/20 16:08:54) |
||
お世話になります。 ファイルをオープンする前にファイルの有無をチェックしたいですが、どういう式で表せばよいのでしょうか? 辞典でも載っていなかったので。 有無のチェックによりファイルがあった場合は、ファイルオープンする。 無かった場合はエラーを出すという処理で行いたい。 ご教授よろしくお願い申し上げます。 |
No.15696![]() |
Re:ファイルの有無 投稿者---RiSK(2004/07/20 16:56:15) |
||
>ファイルをオープンする前にファイルの有無をチェックしたいですが、どういう式で表せばよいのでしょうか? >有無のチェックによりファイルがあった場合は、ファイルオープンする。 >無かった場合はエラーを出すという処理で行いたい。 fopen が NULL を返したらファイルがない(かもしれない)と判断できます。 なぜ、オープンする前にファイルがあるか確認しなければならないのでしょうか? |
No.15697![]() |
Re:ファイルの有無 投稿者---RiSK(2004/07/20 17:05:57) |
||
>fopen が NULL を返したらファイルがない(かもしれない)と判断できます。 前に私が作ったのをコピペ // 関数名 : IsFileExisting // 説明 : ファイルが存在するか調べます // 戻り値の型 : int ファイルが存在する場合は1、存在しない場合は0 // 引数 : const char* pszFile BOOL IsFileExisting(const char* pszFile) { FILE *pf; if ((pf = fopen(pszFile, "r")) == 0) { return 0; } fclose(pf); return 1; } 詳細はC FAQ 19.11を見てください。 私が作ったやつもタイミングによっては問題が生じます。 |
No.15704![]() |
Re:ファイルの有無 投稿者---nop(2004/07/20 19:40:41) |
||
>ファイルをオープンする前にファイルの有無をチェックしたいですが、どういう式で表せばよいのでしょうか? 処理系によっては、 access()関数でファイルの有無を調べることが出来ます。 # 但し、処理系依存なので移植性は損なわれます。 # 素直に、fopen()でNULLが返った時にエラー処理を行う方がよいでしょう。 |