アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています。
MFCを使ってのファイルの作成についての質問です。

ファイル名を引数としてそのファイルを作成したいのですが、ファイル名には"\","/"など使えない文字が存在します。
その文字が入ったていたら、falseを返すようにしたいのですが、どんな関数を使用すればいいのでしょうか?
今は指定された作成されたファイルをオープンするときに
fileName.Open(FileName,CStdioFile::modeCreate|CStdioFile::modeWrite|CStdioFile::modeNoTruncate)
のように開いてますがエラーにならず書き込みの時にエラーとなります。
作成時にエラーを出すにはどうしたらいいのでしょうか?
よろしくお願いします

A 回答 (1件)

使い方が分からない時は素直にMSDNを見ましょう。


案外サンプルコードも含めてきちんと書いてありますので。

OPENメソッドは

virtual BOOL Open(
LPCTSTR lpszFileName,
UINT nOpenFlags,
CFileException* pError = NULL
);

このように定義されており、最後の引数を省略しなければFALSEでエラーが返ります。

pError は「操作が失敗した場合にステータス情報を受け取るファイル例外オブジェクトへのポインタ」です。

★サンプルコード
CFile f;
CFileException e;
char* pFileName = "test\\.dat";

if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, &e ) )
{
AfxMessageBox("OPEN_ERROR");
}else{

CString msg = "CFile プログラムのテスト\n";
f.Write(msg, msg.GetLength());
f.Close();
}

参考URL:http://www.microsoft.com/japan/msdn/library/defa …
    • good
    • 0
この回答へのお礼

ありがとうございます。
今はひたすらプログラムを書いてる初心者なもんでMSDNを使いこなしていませんね。
これからもっと上達するためにMSDNをみれるようがんばります。
参考とともにいいアドバイスありがとうございました

お礼日時:2004/08/27 15:49

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