У меня есть текстовый файл в следующем формате:Я хочу CIN, чтобы прочитать до « п», но я не могу использовать GetLine
info
data1 data2
info
data1 data2 data3 data4...
Проблема заключается в следующем: счетчик (и длина) данных может быть очень большие и вызывают проблемы во время работы, когда используется getline()
. Поэтому я не могу прочитать всю строку в std::string
. Я попытался следующие:
for(int i=0; i<SOME_CONSTANT ; i++){
string info, data;
cin >> info;
while(cin.peek() != '\n' && cin >> data){
// do stuff with data
}
}
Однако cin.peek()
не сделать трюк. Информация считывается в данные в цикле while и запускает программы. Как я могу это исправить?
Вы пытались 'std :: string :: max_size' как второй параметр для' std :: istream :: getline'? –
Каким будет размер данных? Как долго длится линия? –
до 150.000 символов – Varaquilex