• 締切済み

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

みんなの回答

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

せめて環境を詳しく書きましょう。 一般論で言えば、 > cの標準関数openで openは標準関数ではありません。 > #include <sys\stat.h> > #include <sys\types.h> ヘッダ名に逆斜線(多くは\と同じ文字コード)を使用した場合の動作は未定義です。よって、何が起きても不思議ではありません。

  • yosi_yosi
  • ベストアンサー率35% (165/468)
回答No.3

c:\TEST\d050_g10s187mv174av96bv16.bmp を作ろうとしているのですよね? ファイル名から推測するにテンポラリファイル?? もしかして「C:\TEST」ディレクトリが存在しないとか。

  • FAY
  • ベストアンサー率49% (95/193)
回答No.2

情報を省略しすぎです。 現象が再現する最小の コンパイル可能なソースを提示してください。

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

No such a file or directoryの意味は そのようなファイルまたはディレクトリが見あたりません という意味です。 従って、c:\\TEST\\d050_g10s187mv174av96bv16.bmp\0  すなわち c:\TEST\d050_g10s187mv174av96bv16.bmp が存在しないといっています。このファイルは 本当に、この名前で正しいですか?

関連するQ&A