我正在阅读我的 C++ 程序 csv 文件:
abc;def;ghi
10;;10
通过这段代码:
while(getline(in, str, '\n')){
stringstream ss;
while(getline(ss, str, ';')){
line.add(str);
}
}
其中 in 是输入文件,str
是字符串变量,line 是我的集合(如 vector
)。但是 getline
跳过了 csv 文件中的空字符串。
谁也能帮我读空字符串?
谢谢:)
最佳答案
您从未初始化您的流!
试试这个:
#include <string> // for std::string and std::getline
#include <sstream> // for std::istringstream
for (std::string jimbob; std::getline(in, jimbob); )
{
std::istringstream marysue(jimbob); // !
for (std::string charlie; std::getline(marysue, charlie, ';'); )
{
line.add(charlie);
}
}
关于C++ getline() 跳过空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15558405/