У меня такая функция (я нашел его где-то, он работает с \t
separator).Разделить строку разделителем с помощью векторов - как разделить на новую строку?
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
для новой строки.
Вы читали файл в двоичном режиме? Если вы читаете файл с переводом текста, вам нужно искать только '' \ n''. Вы можете легко узнать, что у вас есть, выгружая строку 'data' в hex из вашей программы. – paddy
Если вы хотите помочь с проблемой, вы всегда должны сказать нам, что эта проблема на самом деле. Что пошло не так? Что происходит? Что вы ожидали вместо этого? – sth