gpt4 book ai didi

c++ - 使用 vector 按分隔符拆分字符串 - 如何按换行符拆分?

转载 作者:行者123 更新时间:2023-11-30 02:52:30 24 4
gpt4 key购买 nike

我有这样的功能(我在某处找到它,它与 \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逐行读取文件,其中:

Extracts characters from is and stores them into str until the delimitation character delim is found (or the newline character, '\n' ...) If the delimiter is found, it is extracted and discarded, i.e. it is not stored and the next input operation will begin after it.

也许您已经在通过删除行尾的函数读取文件。

关于c++ - 使用 vector 按分隔符拆分字符串 - 如何按换行符拆分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18819806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com