Форум программистов, компьютерный форум, киберфорум
Наши страницы

Не удаётся сбросить ios::failbit - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите, как исправить 1 ошибку в программе? http://www.cyberforum.ru/cpp-beginners/thread1105788.html
#include "stdafx.h" #include <stdio.h> #include <conio.h> double min = 0; /* зовнiшня змiнна */ int main() { FILE * file; char namef; /*...
C++ Найти и вывести на экран последние три числа, которые кратны четырем (4) и не кратны трем (3) Помогите пожалуйста!!:)Нужно доработать программу, чтобы она выводила 3 слагаемые суммы,т.е эти последние 3 числа:) условие ниже. Найти и вывести на экран последние три числа, которые кратны... http://www.cyberforum.ru/cpp-beginners/thread1105786.html
Использование массивов в качестве аргумента функции C++
Расстояние l от начала координата до точки n-мерного пространства с координатами(x1,x2....xn)...
Добрый день. Подскажите, возможно ли в system задать условие? C++
Добрый день. Подскажите, возможно ли в system задать условие? Например чтобы если a=1 записывал одно, а если a=2 записывал другое. Заранее благодарю. #include <ios> int main(){ system("for...
C++ Вычесть из элементов первого столбца матрицы значение максимального элемента матрицы http://www.cyberforum.ru/cpp-beginners/thread1105716.html
Составить программу, в которой 1) организовать ввод матрицы размера mxn из целых чисел; 2) вычесть из элементов первого столбца матрицы значение максимального элемента матрицы; 3) переставить...
C++ Сформировать одномерный массив из элементов, стоящих над главной диагональю матрицы K(m,m). Найти сумму элементов этого массива. Сформировать одномерный массив из элементов, стоящих над главной диагональю матрицы K(m,m). Найти сумму элементов этого массива. подробнее

Показать сообщение отдельно
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2014, 00:07
Цитата Сообщение от Joe Rixans Посмотреть сообщение
Есть еще один вопрос: то есть поток не будет переводиться в состояние конца, пока не будет введён enter в консоли?Т.е. все eof до '/n' будут рассматриваться системой как неправильный ввод данных?
Вот такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
int n;
    while (true)
    {
        cin >> n;
        cout << cin.bad() << endl;
        cout << cin.fail() << endl;
        cout << cin.eof() << endl << endl;
 
        if (cin.fail()) 
            break;
    }
Попробуйте строки чисел вводить. Флаг EOF установится только если ^Z будет первым в строке, и не важно, что за ним будут ещё символы в потоке. Дело в том, сто EOF в консоли - это не то, что EOF в файле. В файле - это признак того, что данных в файле больше нет (размер файла известен до чтения). В консоли неизвестно сколько символов будет введено, поэтому здесь EOF просто генерируется, нажатием определённых клавиш, и обрабатывется определённым образом (должен быть первым при вводе).
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru