РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
460 of 815 menu

Метод good

Метод good класса ios возвращает true, если поток не имеет никаких ошибок и готов к дальнейшей работе, и false в противном случае. Метод не принимает параметров. Он проверяет сразу все флаги состояния потока: eofbit, failbit и badbit. Если хотя бы один из них установлен, метод вернет false.

Синтаксис

bool good() const;

Пример

Давайте проверим состояние потока cin после успешного ввода числа:

#include <iostream> using namespace std; int main() { int num; cin >> num; if (cin.good()) { cout << "Stream is good" << endl; } else { cout << "Stream has errors" << endl; } return 0; }

Результат выполнения кода при вводе числа 5:

"Stream is good"

Пример

Давайте попробуем ввести строку вместо числа и проверим состояние потока:

#include <iostream> #include <string> using namespace std; int main() { int num; cin >> num; if (cin.good()) { cout << "Stream is good" << endl; } else { cout << "Stream has errors" << endl; } return 0; }

Результат выполнения кода при вводе строки "abcde":

"Stream has errors"

Пример

Давайте проверим состояние потока вывода cout после вывода строки:

#include <iostream> using namespace std; int main() { cout << "abcde" << endl; if (cout.good()) { cout << "Output stream is good" << endl; } else { cout << "Output stream has errors" << endl; } return 0; }

Результат выполнения кода:

"abcde" "Output stream is good"

Смотрите также

  • класс ios,
    который является базовым классом для потоков ввода-вывода
  • метод eof,
    который проверяет достижение конца файла
  • метод fail,
    который проверяет наличие ошибок в потоке
  • метод bad,
    который проверяет критические ошибки потока
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить