[MFC]テキストの読み込み | Assertion Failed!

[MFC]テキストの読み込み

MFCアプリからテキストを読み込んで、コンソール表示する。


[環境]

VS2008

WIN32コンソールアプリ(MFC共通ヘッダ追加)


読み込むテキストとして


[test.txt]

123

456


というテストデータを用意した。


int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
  int nRetCode = 0;

  // MFC を初期化して、エラーの場合は結果を印刷します。
  if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
  {
    ・・・中略

  }
  else
  {
    // ファイルオープン
    CStdioFile file(_T("C:\\test.txt"), CStdioFile::modeRead);
    
    CString str;
    while(file.ReadString(str))
    {
      _tprintf(str.GetBuffer());
      _tprintf(_T("\n"));
    }
  }

  return nRetCode;
}


CStdioFileクラスのReadStringメソッドは読み込んだファイルを1行読み込む。


MFCはCの原始的な処理は意外と苦手っぽいきがする。

それにしてもマルチバイト文字列は大嫌いです。