Я использую GetLine, чтобы захватить строки из файла входных данных, который выглядит, как этотИгнорирование символов Пробелы
1 9
5 5
6 7
...
Если первое число число братьев и сестер кого-то есть и второе число является чей-то возраст.
const int MAXLINE=50;
int main(int argc, char *argv[]) {
int numberOfSiblings;
int age;
char oneline[MAXLINE];
ifstream inputData;
inputData.open(argv[1]);
while (!(inputData.eof())) {
inputData.getline(oneline, MAXLINE);
numberOfSiblings = oneline[0] - '0';
age = oneline[2]-'0';
}
}
Howerver, я не могу предположить, что эти int всегда будут иметь один и тот же индекс из-за пробела.
Поскольку, если есть два пробела, а не один возраст, теперь будет в индексе 3. Как я могу объяснить это?
Кроме того, что произойдет, если у меня есть двузначное число?
Возможный дубликат [Как разбить строку на C++?] (Http://stackoverflow.com/questions/236129/how-to-split-a-string-in-c) – talnicolas
Пожалуйста, прочитайте [Почему ' iostream :: eof' внутри условия цикла считается неправильным?] (http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong) – Xeo