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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ilikeMagic
11 / 11 / 2
Регистрация: 26.04.2012
Сообщений: 104
#1

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

20.10.2012, 20:59. Просмотров 778. Ответов 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++ ifstream, ofstream и объекты класса
C++ Функция базового класса
C++ файлы ifstream/ofstream запись класса C++
C++ Не функция-член класса
Функция getline и ifstream C++
C++ Дружественная функция класса
C++ Функция класса в потоке
Ifstream& как член класса C++
Различия ifstream::get() и ifstream::get(ch) C++
Функция класса C++
Не работает функция из класса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1634 / 1262 / 128
Регистрация: 21.12.2010
Сообщений: 1,925
Записей в блоге: 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
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru