В моем задании у меня возникла проблема с чтением файла. См. следующий сегмент кода.
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 заканчивается сразу после прочтения одного слова?