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

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

Войти
Регистрация
Восстановить пароль
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
#1

Getchar и putchar EOF - C++

10.10.2012, 22:44. Просмотров 1192. Ответов 4
Метки нет (Все метки)

Подскажите что за символ такой EOF? Чисто догадываясь это 0, но не работает.
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main()
{
    int c;
    while((c = getchar())!=EOF) {
        putchar(c);
    }
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2012, 22:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Getchar и putchar EOF (C++):

функции getchar() и putchar() - C++
Здравствуйте всем. Такая вот задачка: Есть вот такой код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; ...

Getchar и putchar тип данных - C++
Скажите пожалуйста, почему мы используем именно тип int в данной программе, а не char? (в книжке про это написано, но я не понял что там...

Массив: функции getchar и putchar - C++
Задан массив. «Фамилия_стаж работы_зарплата». Преобразовать массив так: стаж работы увеличить на год, если он станет равен 10, то зарплату...

Объяснить назначение функций getchar и putchar - C++
Всем привет!) Объясните, пожалуйста, для чего нужна функция getchar и putchar максимально понятным для новичка языком, приводя пример....

ввод-вывод с использованием команд getchar-putchar - C++
Пример взят из книги Керниган, Ритчи &quot;Язык программирования С&quot; Вот такой вот код. #include &lt;stdio.h&gt; /*pods4et vvodimix simvolov*/ ...

Getchar() возвращает EOF сразу после чтения первого символа строки - C++
#include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;vector&gt; #include &lt;conio.h&gt; using namespace std; using...

4
Detweeted
1 / 1 / 0
Регистрация: 10.10.2012
Сообщений: 21
10.10.2012, 22:45 #2
Чтобы получить EOF, нажмите ctrl+Z.
0
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
10.10.2012, 23:51  [ТС] #3
Подскажите ещё пожалуйста, почему не работает такой вариант?
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main()
{
    int c;
    while((c = getchar())!=0) {
        putchar(c);
    }
 
    return 0;
}
0
Петр1
3 / 1 / 1
Регистрация: 09.10.2012
Сообщений: 25
11.10.2012, 00:02 #4
потому что getchar() принимает символ, а ты подсовываешь ему число.
нужно так
C++
1
while((c = getchar())!='0')
или написать вот так
C++
1
while((c = getchar())!=48)
для проверки самого себя
C++
1
2
3
    int c;
    c=getchar();
    cout<<c<<"\n";
0
Thinker
Эксперт С++
4227 / 2201 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 08:26 #5
Цитата Сообщение от aleksand Посмотреть сообщение
Подскажите что за символ такой EOF? Чисто догадываясь это 0
EOF это символическая константа, чаще всего определенная как -1, но никак не 0 по многим соображениям, например, NULL и EOF никак не должны пересекаться, а NULL чаще всего (если не всегда) это 0.
1
11.10.2012, 08:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2012, 08:26
Привет! Вот еще темы с ответами:

Фунция putchar() - C++
Всем привет! Почему, когда вывожу часть строкового массива посимвольно - функция putchar выводит каждый элемент по два раза? #include...

Почему putchar() выводит всю строку? - C++
У К&amp;Р есть такой пример: #include &lt;stdio.h&gt; ...

Почему функция putchar(); выводит только первый символ?(Короткий код) - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main() { int c; c=getchar(); putchar(c); getch(); }

getchar - C++
Не пойму почему getchar 2-ой раз запрашивает ввести строку, я же написал в цикле условие, что выполняется, если ch!=10 char ch=0; for...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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