dポイントプレゼントキャンペーン実施中!

以下のプログラムでエラーとなる要因はどこにあるのでしょうか?

#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

A 回答 (4件)

せめて環境を詳しく書きましょう。



一般論で言えば、

> cの標準関数openで

openは標準関数ではありません。

> #include <sys\stat.h>
> #include <sys\types.h>

ヘッダ名に逆斜線(多くは\と同じ文字コード)を使用した場合の動作は未定義です。よって、何が起きても不思議ではありません。
    • good
    • 0

c:\TEST\d050_g10s187mv174av96bv16.bmp


を作ろうとしているのですよね?
ファイル名から推測するにテンポラリファイル??


もしかして「C:\TEST」ディレクトリが存在しないとか。
    • good
    • 0

情報を省略しすぎです。


現象が再現する最小の
コンパイル可能なソースを提示してください。
    • good
    • 0

No such a file or directoryの意味は


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

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