Как мне прочитать только второе слово из файла .txt - PullRequest
0 голосов
/ 10 декабря 2018

Я хочу прочитать и извлечь фамилию актера из открытого текстового файла.

Я пытался сделать это так, но он мог читать только каждое другое слово из предложений.

Фамилия актера заканчивается точкой с запятой, но я не знаю, как поступить.

(я не хочу использовать векторы, так как не до конца их понимаю)

bool check=false;

while (!check) //while false
{
    string ActorSurname = PromptString("Please enter the surname of the actor:");


    while (getline (SecondFile,line)) //got the line. in a loop so keeps doing it 
    {
        istringstream SeperatedWords(line);  //seperate word from white spaces
        string WhiteSpacesDontExist;
        string lastname;

            while (SeperatedWords >> WhiteSpacesDontExist >> lastname) //read every word in the line //Should be only second word of every line
            {
                //cout<<lastname<<endl;
                ToLower(WhiteSpacesDontExist);

                if (lastname == ActorSurname.c_str()) 

                {
                    check = true;
                }
        }

    }
}

1 Ответ

0 голосов
/ 10 декабря 2018

Предполагая, что каждая строка вашего файла содержит два слова, разделенных пробелом (а второе слово заканчивается точкой с запятой), ниже приведен пример того, как вы можете прочитать второе слово из такого 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.

...