CSVファイルを読み込む

CSVファイルを読み込む方法は、いろいろあると思いますが、CStringクラスのメンバ関数Tokenizeを利用することで、コードをシンプルにできます。

CStdioFile File;
CFileException ex;
CStringArray StrArray;
CString szData, szToken;
int nCurPos;
 
if (!File.Open(_T("C:\\sample.csv"), CFile::modeRead, &ex))
{
    // ファイルのオープンに失敗
    // エラーを表示
    ex.ReportError(MB_OK, 0);
}
 
// ファイルを1行ずつ読み込み
while (File.ReadString(szData) != NULL)
{
    nCurPos = 0;
 
    while (TRUE)
    {
        // カンマで文字列を分割・抽出
        szToken = szData.Tokenize(_T(","), nCurPos);
        if (szToken.IsEmpty())
        {
            break;
        }
        StrArray.Add(szToken);
    }
}
 
File.Close();

ここでは、抽出した文字列をCStringArrayに格納しています。