Вы должны использовать std::getline
с разделителем.Таким образом, вы можете разделять символ пробела и читать до тех пор, пока не найдете строку, где находится первый символ числа.Вот пример короткого кода (кажется, что он довольно домашний, поэтому я не хочу писать слишком много для вас;):
std::string temp, id;
while (std::getline(_f, temp, ' ')) {
if (temp[0] >= 0 && temp[0] <= '9') {
id = temp;
}
// you would need to add more code for the rest of the data on that line
}
/* close the file, etc. */
Этот код должен быть достаточно понятен.Самая важная вещь, которую нужно знать, это то, что вы можете использовать std::getline
, чтобы получить данные до разделителя.Разделитель используется, как и поведение по умолчанию при разделении символа новой строки.Таким образом, имя getline
не совсем точное - вы все равно можете получить только часть строки, если вам нужно.