次の方法で共有


CFile::SetFilePath

更新 : 2007 年 11 月

ファイルのパスを指定します。たとえば、CFile オブジェクトが構築されたときに、ファイルのパスを使用できない場合に SetFilePath を呼び出します。

virtual void SetFilePath(
   LPCTSTR lpszNewName 
);

パラメータ

  • lpszNewName
    新しいパスを指定する文字列へのポインタ。

解説

3fst6b25.alert_note(ja-jp,VS.90).gifメモ :

SetFilePath はファイルを開いたり作成したりしません。後から使用できるように、指定したパス名と CFile オブジェクトとを単に関連付けるだけです。

使用例

TCHAR* pstrName = _T("C:\\test\\SetPath_File.dat");

// open a file
HANDLE hFile = ::CreateFile(pstrName, GENERIC_WRITE, FILE_SHARE_READ,
   NULL, CREATE_ALWAYS, 0, NULL);

if (hFile != INVALID_HANDLE_VALUE)
{
   // attach a CFile object to it
   CFile myFile(hFile);

   // At this point, myFile doesn't know the path name for the file
   // it owns because Windows doesn't associate that information
   // with the handle. Any CFileExceptions thrown by this object
   // won't have complete information.

   // Calling SetFilePath() remedies that problem by letting CFile
   // know the name of the file that's associated with the object.

   myFile.SetFilePath(pstrName);

   // write something to the file and flush it immediately
   DWORD dwValue = 1234;
   myFile.Write(&dwValue, sizeof(dwValue));
   myFile.Flush();

   // destroying the CObject here will call ::CloseHandle() on the file
} 

必要条件

ヘッダー : afx.h

参照

参照

CFile クラス

階層図

CFile::GetFilePath

CFile::CFile

その他の技術情報

CFile のメンバ