「MFCの基礎 - ファイル」の版間の差分

編集の要約なし
(ページの作成:「== ファイルを開く == <source lang="c++"> CFile File; if(File.Open(_T("test.txt"), CFile::modeCreate| CFile::modeNoTruncate | CFile::modeWrite | CFile::typeText)…」)
 
編集の要約なし
61行目: 61行目:
  File.Close();
  File.Close();
  </source>
  </source>
<br><br>
== ファイルを削除する ==
<source lang="c++">
// 単一のファイルを削除する
CFile::Remove("C:\\test.txt");  // Cドライブに存在するtest.txtファイルを削除する
</source>
<br>
<source lang="c++">
// 複数のファイルやディレクトリを削除する
CString strRemoveDirPath = _T("C:\\test?");
strRemoveDirPath.SetAt(strRemoveDirPath.GetLength() - 1, 0);
SHFILEOPSTRUCT drive = {};
drive.hwnd  = this->m_hWnd;      // ウィンドウハンドル
drive.wFunc  = FO_DELETE;        // 実行する操作
drive.pFrom  = strRemoveDirPath;  // 対象ファイル名
drive.pTo    = NULL;              // 目的ファイル名
drive.fFlags =  FOF_ALLOWUNDO;    // フラグ
SHFileOperation(&drive);
</source>
wFuncは、下記に示す通り、実行する操作を指定する。<br>
{| class="wikitable"
|-
! 命令マクロ !! 説明
|-
| FO_MOVE || pFromをpToの位置に移動
|-
| FO_COPY || pFromをpToの位置にコピー
|-
| FO_DELETE || Fromを削除
|-
| FO_RENAME || pFromをpToに変更
|} 
pFromにはディレクトリおよびファイルを指定する。ワイルドカードも使用できる。<br>
また、NULL文字(\0)で区切ると複数指定できる。<br>
<br>
fFlagは、下記に示す通り、動作時のフラグを指定する。<br>
{| class="wikitable"
|-
! 命令マクロ !! 説明
|-
| FOF_SILENT || 経過を表すダイアログボックス非表示
|-
| FOF_ALLOWUNDO || 削除の場合はゴミ箱に移動
|-
| FOF_NOERRORUI || エラーが発生した場合はUI非表示
|-
| FOF_NOCONFIRMATION || 表示されるダイアログボックスで『はい』または『すべて』を選択する
|} 
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:MFC]]
[[カテゴリ:MFC]]
匿名利用者