У меня есть файл, заполненный целыми числами (переменная сумма в строке), разделенными пробелом. Я хотел бы проанализировать int, затем пробел, затем int, затем пробел ... до символа новой строки, а затем начать с новой строки до eof. Пример файла будет выглядеть примерно так:
1 1 324 234 12 123
2 2 312 403 234 234 123 125 23 34
...
Чтобы захватить целые числа, я могу сделать что-то вроде этого:
std::ifstream inStream(file.txt);
std::string line;
int myInt = 0;
while(getline(inStream, line)) {
std::stringstream ss(line);
while(ss) {
ss >> myInt;
//process...
}
}
Мой вопрос в том, есть ли простой способ получить пробел и конечный символ из ss? Или мне лучше всего написать мою программу, предполагающую пробел после каждого индекса и новую строку в конце ss? что-то вроде этого:
std::ifstream inStream(file.txt);
std::string line;
int myInt = 0;
while(getline(inStream, line)) {
std::stringstream ss(line);
while(ss) {
ss >> myInt;
// process...
// done with myInt
char mySpace = ' ';
// now process mySpace
}
char myNewLine = '\n';
// now process myNewLine
}
' '
? - person R Sahu   schedule 21.03.2014' '
, то зачем вообще пытаться его извлечь? Притворяться. Пустьstringstream
проглотит за вас пробелы и разрывы строк. Прочитайте 'int', и если он еще не в конце потока, то примите' '
, а затем, когда будет достигнут конец потока, примите'\n'
. - person Remy Lebeau   schedule 21.03.2014