API関数のFileCopyがうまく動作しません。

[戻る]
DIQ 2003/09/08(月) 16:10:21
//この時点でchar ac[MAX_PATH]には"D:\Program Files\"が入っています。
//hDlg=ダイアログのハンドル
//
if (strstr(ac,"test.xls")==NULL){                    
  strcat(ac,"test.xls");
}                            
if(0==CopyFile("D:\test.xls",ac,FALSE)){                   
  MessageBox(hDlg,"失敗",ac,MB_OK);                    
}
        
この方法で、ファイルをコピーしようと思ったのですが、できませんでした。
何か使い方が間違っていたら、御教えください。



バージョンは、VC++6.0で、osはNT4.0です。

YuO [E-Mail] 2003/09/08(月) 16:22:03
"D:\test.xls"というファイル名はありえません。
"D:\\test.xls"のように,文字列リテラル中の\記号はエスケープする必要があります。

また,APIの実行が失敗した場合,GetLastError 
APIで原因を取得できることが多いです。

DIQ 2003/09/08(月) 16:43:06
[[解決]]
ありがとうございました。
"\\"にしたら解決しました。
つまらない質問をしてしまって申し訳ないです。
ではまた、お願いするかもしれませんが、ありがとうございました。

古いスレッドには追加発言できません。