Mfc-standard-io
提供:Dev Guides
MFC-標準I/O
MFCライブラリは、独自のバージョンのファイル処理を提供します。 これは、CStdioFileという名前のクラスを通じて行われます。 CStdioFileクラスはCFileから派生しています。 Unicodeテキストファイルと通常のマルチバイトテキストファイルの読み取りと書き込みを処理できます。
CStdioFileオブジェクトを初期化できるコンストラクタのリストは次のとおりです-
CStdioFile();
CStdioFile(CAtlTransactionManager* pTM);
CStdioFile(FILE* pOpenStream);
CStdioFile(LPCTSTR lpszFileName, UINT nOpenFlags);
CStdioFile(LPCTSTR lpszFileName, UINT nOpenFlags, CAtlTransactionManager *pTM);
CStdioFileのメソッドのリストは次のとおりです-
Sr.No. | Name & Description |
---|---|
1 |
|
2 |
ReadString 1行のテキストを読み取ります。 |
3 |
Seek 現在のファイルポインターを配置します。 |
4 |
WriteString 1行のテキストを書き込みます。 |
新しいMFCダイアログベースのアプリケーションを作成して、簡単な例をもう一度見てみましょう。
- ステップ1 *-次のスナップショットに示すように、1つの編集コントロールと2つのボタンをドラッグします。
ステップ2 *-編集制御用の値変数 *m_strEditCtrl を追加します。
- ステップ3 *-[開く]ボタンと[保存]ボタンのクリックイベントハンドラーを追加します。
- ステップ4 *-これはイベントハンドラの実装です。
void CMFCStandardIODlg::OnBnClickedButtonOpen() {
//TODO: Add your control notification handler code here
UpdateData(TRUE);
CStdioFile file;
file.Open(L"D:\\MFCDirectoryDEMO\\test.txt", CFile::modeRead | CFile::typeText);
file.ReadString(m_strEditCtrl);
file.Close();
UpdateData(FALSE);
}
void CMFCStandardIODlg::OnBnClickedButtonSave() {
//TODO: Add your control notification handler code here
UpdateData(TRUE);
CStdioFile file;
if (m_strEditCtrl.GetLength() == 0) {
AfxMessageBox(L"You must specify the text.");
return;
}
file.Open(L"D:\\MFCDirectoryDEMO\\test.txt", CFile::modeCreate |
CFile::modeWrite | CFile::typeText);
file.WriteString(m_strEditCtrl);
file.Close();
}
- ステップ5 *-上記のコードをコンパイルして実行すると、次の出力が表示されます。
ステップ6 *-何かを書いて[保存]をクリックします。 データを .txtファイルに保存します。
- ステップ7 *-ファイルの場所を見ると、test.txtファイルが含まれていることがわかります。
- ステップ8 *-次に、アプリケーションを閉じます。 同じアプリケーションを実行します。 [開く]をクリックすると、同じテキストが再び読み込まれます。
- ステップ9 *-ファイルを開いてファイルを読み取り、続いてエディットコントロールを更新します。