【发布时间】:2021-09-18 23:36:38
【问题描述】:
csv 到矢量有很多选项,包括read a csv file and and add its all data into vector in c++,但是我想要一些高于或低于csv -> vector 的东西。相反,我有一个 CURL 函数,可以将 csv 数据加载到 std::string 中,格式为
col1,col2,col3
abc,2,ghi
jkl,2,pqr
其中,每一行由\n 分隔。如何将此给定结构中的数据解析为std::vector<data>
数据看起来像这样的地方
struct data
{
std::string col1, col3;
int col2;
};
【问题讨论】:
-
从
std::stringstream而不是fstream读取。 -
@MikeCAT 我该怎么做?格式是整个
std::string用逗号和\n分隔,我想成为std::vector中的一个新条目 -
std::istringstream stream(myString);那么代码与从 fstream 的一行进行处理的代码相同。 -
@drescherjm 但是我必须把它分开
\n -
@MikeCAT 另外,假设它是一个巨大的
std::string,那么仅仅构造一个全新的stringstream并以某种方式将数据加载到最初的stringstream中不是效率低下吗? ?
标签: c++ string csv parsing vector