| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

MFC ファイルを読む

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

MFC ファイルを読む

VC++ | MFC ファイルを選択 |

ファイルを1行単位で読み込む

こちらで作成したダイアログのOKボタンで、指定したファイルを行ごとに読み込みデバッグ出力を行う。

0777 mfc file 05.jpg

void CTextSearchSampleDlg::OnBnClickedOk()
{
    // TODO: ここにコントロール通知ハンドラ コードを追加します。
    //OnOK();
    CString fileName;
    // テキストボックスの値を、CStringにコピー
    m_src_file.GetWindowTextW(fileName);

    CStdioFile file;
    CString line;

    if (file.Open(fileName, CFile::modeRead)) {
        while(file.ReadString(line)) {
            
            TRACE( line + _T("\n") );    

        }
        file.Close();
    }
}

CStdioFile を利用して文字コードを指定してファイルを読む

  • Visual C++ 2005 以降で利用可能

fopen

C ランタイム関数 fopen の呼び出しで返すファイル ポインタを指定をCStdioFileに指定する

CStdioFile file(_tfopen(_T("C:\\test.txt"), _T("r, ccs=UTF-8")));
while (file.ReadString(line)) {
    AfxMessageBox(line);
}
file.Close();
ccs=ENCODING

ファイルに使用するコード化された文字セット (UTF-8、UTF-16LE、または UNICODE) を指定します。何も指定しない場合は、ANSI エンコーディングが使用されます。このオプションは Visual C++ 2005 以降で使用できます。