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

MyMemoWiki

「MFC ファイルを読む」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
1行目: 1行目:
 
==MFC ファイルを読む==
 
==MFC ファイルを読む==
[[VC++][MFC ファイルを選択]]{{category MFC}}
+
[[VC++]][[MFC ファイルを選択]]{{category MFC}}
  
 
*[http://msdn.microsoft.com/ja-jp/library/a499td6y%28VS.80%29.aspx CStdioFile]
 
*[http://msdn.microsoft.com/ja-jp/library/a499td6y%28VS.80%29.aspx CStdioFile]
 
===ファイルを1行単位で読み込む===
 
===ファイルを1行単位で読み込む===
[[MFC ファイルを選択] [こちら]]で作成したダイアログのOKボタンで、指定したファイルを行ごとに読み込みデバッグ出力を行う。
+
[[MFC ファイルを選択]] [[こちら]]で作成したダイアログのOKボタンで、指定したファイルを行ごとに読み込みデバッグ出力を行う。
  
 
[[File:0777_mfc_file_05.jpg]]
 
[[File:0777_mfc_file_05.jpg]]

2020年2月15日 (土) 08:21時点における版

MFC ファイルを読む

VC++MFC ファイルを選択テンプレート:Category MFC

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

MFC ファイルを選択 こちらで作成したダイアログの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 以降で使用できます。