Форум программистов, компьютерный форум CyberForum.ru

Функция get() класса ifstream - C++

Восстановить пароль Регистрация
 
ilikeMagic
11 / 11 / 2
Регистрация: 26.04.2012
Сообщений: 104
20.10.2012, 20:59     Функция get() класса ifstream #1
Есть код, который считает количество символов в файле (функцию gcount() нельзя использовать по заданию) :
C++
1
2
3
4
5
6
7
8
9
10
11
12
    char buf;
 
    ifstream my_txt;
    my_txt.open(argv[1]);
 
    int number(0);
 
    while(my_txt.get(buf))
        ++number;
    cout << number;
 
    my_txt.close();
Объясните принцип работы функции get() в условии выхода цикла while.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 20:59     Функция get() класса ifstream
Посмотрите здесь:

C++ Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса?
В конструкторе вложенного класса инициализируется приватное поле. Потом вызывается функция-метод этого класса и выводит значение этого поля НО НЕ ТО! C++
Функция внутри класса C++
C++ ifstream, ofstream и объекты класса
Как сделать, чтобы функция класса могла работать с обьектами другого класса C++
C++ файлы ifstream/ofstream запись класса C++
Функция getline и ifstream C++
Ifstream& как член класса C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
20.10.2012, 22:18     Функция get() класса ifstream #2
ф-ция возвращает поток my_txt, причём:
1. если символ считан удачно - флаг failbit потока сброшен (fail() возвратит false)
2. если не считан - флаг failbit потока установлен (fail() возвратит true)
ну и запись while(my_txt) эквивалентна while(!my_txt.fail())
как то так
Yandex
Объявления
20.10.2012, 22:18     Функция get() класса ifstream
Ответ Создать тему
Опции темы

Текущее время: 08:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru