1. ホーム
  2. c++

[解決済み] c++でcsvファイルを読み込む

2022-03-08 08:20:48

質問

csvファイルをc++で読み込みたい。 以下は私のコードです。

 int main(){
 ifstream classFile("class.csv");
 vector<string> classData;

 while (getline(classFile, line,',')) // there is input overload classfile
        {
            classData.push_back(line);  

        }
}

私の問題は、各行の最後の列を読み取るときです。 (カンマで区切られていないため)最後の列のデータと次の行の最初のデータが読み込まれます。 例えば、私のデータが次のようなものであったとします。

クラス名, クラス位置, 教授 c++、図書館、ジョン

とすると、className/ classLocation/ 教授 c++/ 図書館 / John のように読み取れます。

最後の列と次の行の最初の列を分離する方法はありますか? ありがとうございます、そして紛らわしくてすみません

どのように解決するのですか?

ファイルを一行ずつ読んでください。

std::string line;
while(std::getline(stream, line)) ...

各行をisingstreamに渡し、フィールドを読み込む。

std::istringstream s(line);
std::string field;
while (getline(s, field,',')) ...

免責事項 : これはcsvファイルの簡略化されたパースです。