- 締切済み
cの標準関数openでNo such a file or directoryが起こっている状況について
以下のプログラムでエラーとなる要因はどこにあるのでしょうか? #include <fcntl.h> #include <sys\stat.h> #include <sys\types.h> #include <string.h> #include <errno.h> char fname01[64]; //グローバル変数 ここからが、エラーになるプログラム ↓ fh_out = open( &fname01[0], O_CREAT|O_WRONLY|O_BINARY , S_IREAD|S_IWRITE ); if (fh_out == -1){ Application->MessageBox( strerror(errno) , " エラー", MB_OK | MB_ICONEXCLAMATION); ブレイクして、fname01を見た値。c:\\TEST\\d050_g10s187mv174av96bv16.bmp\0
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- jacta
- ベストアンサー率26% (845/3158)
せめて環境を詳しく書きましょう。 一般論で言えば、 > cの標準関数openで openは標準関数ではありません。 > #include <sys\stat.h> > #include <sys\types.h> ヘッダ名に逆斜線(多くは\と同じ文字コード)を使用した場合の動作は未定義です。よって、何が起きても不思議ではありません。
- yosi_yosi
- ベストアンサー率35% (165/468)
c:\TEST\d050_g10s187mv174av96bv16.bmp を作ろうとしているのですよね? ファイル名から推測するにテンポラリファイル?? もしかして「C:\TEST」ディレクトリが存在しないとか。
- FAY
- ベストアンサー率49% (95/193)
情報を省略しすぎです。 現象が再現する最小の コンパイル可能なソースを提示してください。
- tatsu99
- ベストアンサー率52% (391/751)
No such a file or directoryの意味は そのようなファイルまたはディレクトリが見あたりません という意味です。 従って、c:\\TEST\\d050_g10s187mv174av96bv16.bmp\0 すなわち c:\TEST\d050_g10s187mv174av96bv16.bmp が存在しないといっています。このファイルは 本当に、この名前で正しいですか?