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

MyMemoWiki

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

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の1版が非表示)
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]]
19行目: 19行目:
 
     CString line;
 
     CString line;
 
   
 
   
     if (file.Open(fileName, CFile::modeRead)) {
+
     if (file.Open(fileName, CFile::mode[[R]]ead)) {
         while(file.ReadString(line)) {
+
         while(file.[[R]]eadString(line)) {
 
              
 
              
             TRACE( line + _T("\n") );     
+
             T[[R]]ACE( line + _T("\n") );     
 
   
 
   
 
         }
 
         }
29行目: 29行目:
 
  }
 
  }
  
===CStdioFile を利用して文字コードを指定してファイルを読む===
+
===CStdioFile を利用して[[文字コード]]を指定してファイルを読む===
 
*Visual C++ 2005 以降で利用可能
 
*Visual C++ 2005 以降で利用可能
 
====fopen====
 
====fopen====
 
C ランタイム関数 fopen の呼び出しで返すファイル ポインタを指定をCStdioFileに指定する
 
C ランタイム関数 fopen の呼び出しで返すファイル ポインタを指定をCStdioFileに指定する
 
  CStdioFile file(_tfopen(_T("C:\\test.txt"), _T("r, ccs=UTF-8")));
 
  CStdioFile file(_tfopen(_T("C:\\test.txt"), _T("r, ccs=UTF-8")));
  while (file.ReadString(line)) {
+
  while (file.[[R]]eadString(line)) {
 
     AfxMessageBox(line);
 
     AfxMessageBox(line);
 
  }
 
  }
 
  file.Close();
 
  file.Close();
 
=====ccs=ENCODING =====
 
=====ccs=ENCODING =====
ファイルに使用するコード化された文字セット (UTF-8、UTF-16LE、または UNICODE) を指定します。何も指定しない場合は、ANSI エンコーディングが使用されます。このオプションは Visual C++ 2005 以降で使用できます。
+
ファイルに使用するコード化された文字セット (UTF-8、UTF-16LE、または UNICODE) を指定します。何も指定しない場合は、ANSI [[エンコーディング]]が使用されます。このオプションは Visual C++ 2005 以降で使用できます。

2020年2月16日 (日) 04:29時点における最新版

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 以降で使用できます。