MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
MFCの基礎 - ファイルのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
MFCの基礎 - ファイル
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== ファイルを開く == <source lang="c++"> CFile File; if(File.Open(_T("test.dat"), CFile::modeCreate| CFile::modeNoTruncate | CFile::modeWrite | CFile::typeBinary)) { // To do something } file.Close(); </source> 第1引数はファイル名、第2引数はファイルモードを指定する。<br> 主なモードを以下に記載する。<br> CFile::modeCreate ファイルを新規に作成する。既にファイルがある場合も削除して新規に作成する。<br> CFile::modeNoTruncate modeCreateと組み合わせて使用すると既にファイルがある場合は新規作成せずに開く。<br> CFile::modeRead ファイルを読み取り専用で開く。<br> CFile::modeReadWrite ファイルを読み書き可能で開く。<br> CFile::modeWrite ファイルを書き込み専用で開く。<br> CFile::shareDenyNone 他プロセスからも読み書きできる状態でファイルを開く。<br> CFile::shareExclusive ファイルを排他モードで開く。<br> CFile::typeText テキストモードを設定する。派生クラスで使う。<br> CFile::typeBinary バイナリモードを設定する。派生クラスで使う。<br> <br><br> == 1行ずつ読み込む == <source lang="c++"> CStdioFile File(_T("test.dat"), CFile::modeCreate| CFile::modeNoTruncate | CFile::modeRead | CFile::typeText); CString strReadLine = _T(""); while(File.ReadString(strReadLine)) { TRACE(strReadLine + _T("\n")); } </source> <br><br> == ファイルに書き込む == <source lang="c++"> CStdioFile File(_T("test.dat"), CFile::modeCreate| CFile::modeNoTruncate | CFile::modeWrite | CFile::typeText); CString strWriteLine1 = _T("hoge\n"); File.WriteString(strWriteLine1); CString strWriteLine2 = _T("piyo\n"); File.WriteString(strWriteLine2); File.Close(); </source> <br><br> == ファイルに追記する == CFileおよびCStdioFileには追記モードが存在しないので、ファイルを開いた後、書き込み位置を指定する必要がある。 下記のサンプルコードでは、ファイルを書き込みモードで開いた後、SeekToEndメソッドで書き込み位置を最後尾に移動する。 <source lang="c++"> CStdioFile File(_T("test.dat"), CFile::modeCreate| CFile::modeNoTruncate | CFile::modeWrite | CFile::typeText); File.SeekToEnd(); // 書き込み位置を最後尾に移動 CString strWriteLine1 = _T("hoge\n"); File.WriteString(strWriteLine1); // Write a line CString strWriteLine2 = _T("piyo\n"); File.WriteString(strWriteLine2); // Write a line File.Close(); </source> <br><br> == ファイルを削除する == <source lang="c++"> // 単一のファイルを削除する CFile::Remove(_T("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> __FORCETOC__ [[カテゴリ:MFC]]
MFCの基礎 - ファイル
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse