Предполагая, что каждая строка вашего файла содержит два слова, разделенных пробелом (а второе слово заканчивается точкой с запятой), ниже приведен пример того, как вы можете прочитать второе слово из такого string
:
#include <string>
#include <iostream>
int main()
{
std::string text = "John Smith;"; // In your case, 'text' will contain your getline() result
int beginPos = text.find(' ', 0) + 1; // +1 because we don't want to read space character
std::string secondWord;
if(beginPos) secondWord = text.substr(beginPos, text.size() - beginPos - 1); // -1 because we don't want to read semicolon
std::cout << secondWord;
}
Вывод:
Smith
В этом примере мы используем метод find
класса std::string
.Этот метод возвращает позицию искомого символа (или -1
, если символ не был найден), который мы можем использовать для определения начального индекса, необходимого в методе substr
.