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;
}