Невозможно прочитать файл более одного раза в c++

В моем задании у меня возникла проблема с чтением файла. См. следующий сегмент кода.

    std::string data;
    std::ifstream fileRead;

    fileRead.open("a.txt");

    while (fileRead >> data) 
    {
        long a = fileRead.tellg();
        fileRead.seekg (a+1, ios::beg);

        std::string check;
        //some code here

        while (fileRead >> check)
        {
            //some code here
        }
        fileRead.seekg (a+1, ios::beg);
    }

Мне нужно проверить, сколько одинаковых слов в файле. Моя логика такова: я прочитать слово и сохранить его в данных.Затем я продолжаю чтение после этого слова, используя fileRead.seekg (a+1, ios::beg); Затем я сравниваю каждое из слов в файле.

После проверки всего файла я снова помещаю свой файловый объект в следующее слово, используя эту строку fileRead.seekg (a+1, ios::beg); Но эта линия не работает. Я имею в виду, что первый цикл while работает только один раз. Кто-нибудь, пожалуйста, помогите мне здесь.

Между прочим, я новичок в работе с файлами. Так что моя логика или концепция могут быть неверны, в таком случае скажите мне, как правильно это сделать? Но мне нужно знать, почему первый цикл while заканчивается сразу после прочтения одного слова?

0
задан jrok 28 June 2012 в 16:24
поделиться