我有这样的功能(我在某个地方找到它,它可以与\t
分隔符一起使用)。
vector<string> delimited_str_to_vector(string& str, string delimiter)
{
vector<string> retVect;
size_t pos = 0;
while(str.substr(pos).find(delimiter) != string::npos)
{
retVect.push_back(str.substr(pos, str.substr(pos).find(delimiter)));
pos += str.substr(pos).find(delimiter) + delimiter.size();
}
retVect.push_back(str.substr(pos));
return retVect;
}
我在用“ \ r \ n”分隔符分割字符串时遇到问题。我究竟做错了什么?
string data = get_file_contents("csvfile.txt");
vector<string> csvRows = delimited_str_to_vector(data, "\r\n");
我敢肯定,我的文件用于CRLF
换行。
您可以使用getline逐行读取文件,其中:
从is中提取字符并将其存储到str中,直到找到定界符delim(或换行符'\ n'...)为止。如果找到定界符,则将其提取并丢弃,即不存储并保存下一个定界符输入操作将在此之后开始。
也许您已经通过删除行尾的函数来读取文件了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句