0

csvファイルを読み取り、トークンコンマで分割するプログラムがあります。

しかし、私はあるケースで問題を抱えています

exの場合、デモのcsvファイルの内容は次のとおりです:-

val1,val2,val3,val4

1,"テスト,テスト1",,0

この場合、「test を 1 つのトークンとして、test1 を別のトークンとして」取得しています。

この問題を解決するために誰か助けてください。

ここに私が分割に使用しているコードがあります。

std::vector<std::string> split(std::string strToSplit, char delimeter)

{

    std::stringstream ss(strToSplit);
    std::string item;
    std::vector<std::string> splittedStrings;
    while (std::getline(ss, item, delimeter))
    {
        splittedStrings.push_back(item);
    }
    return splittedStrings;
}


bool ReadCsv( UnicodeString usCsvFilePath )

{

    bool bRetVal = false;
    std::vector<std::string> splittedStrings
    TStringList* pStrList = new TStringList;
    if( pStrList )
    {
        pStrList->LoadFromFile( usCsvFilePath );
        for(int i = 0; i < pStrList->Count ; i++ )
        {
            str = pStrList->operator [](i);
            splittedStrings = split(str, ',');
            bRetVal = DoSomeWork(splittedStrings);

        }

    }
    delete pStrList;
    return bRetVal;
}
4

0 に答える 0