разбить длинную строку на несколько c ++

У меня есть строка, полученная от третьего лица. Эта строка на самом деле является текстом из текстового файла и может содержать UNIX LF или Windows CRLF для завершения строки. Как я могу разбить это на несколько строк, игнорируя пустые строки? Я планировал сделать следующее, но не уверен, что есть лучший способ. Все, что мне нужно сделать, это прочитать строка за строкой. Вектор здесь - это просто удобство, и я могу этого избежать. * К сожалению, у меня нет доступа к самому файлу. Я получаю только строковый объект *

string textLine;
vector<string> tokens;

size_t pos = 0;
while( true ) {
    size_t nextPos = textLine.find( pos, '\n\r' );
    if( nextPos == textLine.npos )
        break;
    tokens.push_back( string( textLine.substr( pos, nextPos - pos ) ) );
    pos = nextPos + 1;
}
5
задан Kiran 25 May 2011 в 15:14
поделиться