почему этот цикл зацикливается при считывании информации из файла?

программирование C++ с++

Все переменные объявлены и работают нормально, цикл должен работать нормально но он зацикливается уже 1000 раз проверал не могу понять в чем же дело. Цикл должен загружает из файла одну букву и проверяет есть ли эта буква символом пробела если есть то условный оператор не дает начаться циклу который находится внутри него, но если во внешнем цикле в переменной first оказалась буква а не символ пробела то условный оператор разрешает работу внутреннего цикла который должен работать до того пока в переменной first не окажется символ пробела при выходе из цикла (внутреннего) переменная slov увеличивается на единицу не пойму что тут может быть не так, может кто нибудь подскажет на свежую голову в чем здесь проблема?
Вот код цикла:

while (in_stream1.get(first))
{
if(first!=' ')
{
while(first!=' ')
{
in_stream1.get(first);
}
slov++;
}
}

Внутри одинарных пустых кавычек находится символ пробела.

Примечание:
Если будет несколько пробелов подряд то внутренний цикл не сможет сработать потому что идет проверка условным оператором if того является ли следующий символ буквой или пробелом, если он является пробелом то условный оператор пропустит внутренний цикл и внешний снова получит следующий символ который снова проверяется условным оператором и если только этот символ будет буквой а не пробелом то начинает работать внутренний цикл который перебирает символы файла, дальше перебрав слово и столкнувшись из пробелом он должен остановить свою работу выйти из тела и перейти к переменной slov которая увеличит свое значение на 1 больше. А проверку на конец файла здесь легко можно сделать если в условие внутреннего цикла оператора while добавить строчку && !in_stream.eof() вот и все, все должно работать так как это условие у меня работает в другом цикле этой же программы а вот в этом цикле какого то черта не хочет пахать, вот и сижу голову ломаю что за черт творится что оно не хочет работать.

Примечание:
А ваш скрипт Andrey.korea очень похож не на С++ а на php

Примечание:
А если модифицировать мой код то как сделать так что бы все заработало?

Примечание:
А как по другому в С++ можно обозначить пробел? В ентера есть \n а в пробела какое?

Примечание:
и еще одно у меня программа на с++ не буквы а слова считает
Ответы:
у вас нет проверки на конец файла. кроме того, ваш метод выдаст неправильный результат, если за последним словом не будет следовать пробел или будет несколько пробелов подряд,


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.