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

Getchar и putchar EOF - C++

Восстановить пароль Регистрация
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
10.10.2012, 22:44     Getchar и putchar EOF #1
Подскажите что за символ такой 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2012, 22:44     Getchar и putchar EOF
Посмотрите здесь:

ввод-вывод с использованием команд getchar-putchar C++
C++ getchar
C++ getchar ()
Getchar и putchar тип данных C++
C++ Почему putchar() выводит всю строку?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Detweeted
1 / 1 / 0
Регистрация: 10.10.2012
Сообщений: 21
10.10.2012, 22:45     Getchar и putchar EOF #2
Чтобы получить EOF, нажмите ctrl+Z.
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
10.10.2012, 23:51  [ТС]     Getchar и putchar EOF #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;
}
Петр1
 Аватар для Петр1
3 / 1 / 1
Регистрация: 09.10.2012
Сообщений: 25
11.10.2012, 00:02     Getchar и putchar EOF #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";
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 08:26     Getchar и putchar EOF #5
Цитата Сообщение от aleksand Посмотреть сообщение
Подскажите что за символ такой EOF? Чисто догадываясь это 0
EOF это символическая константа, чаще всего определенная как -1, но никак не 0 по многим соображениям, например, NULL и EOF никак не должны пересекаться, а NULL чаще всего (если не всегда) это 0.
Yandex
Объявления
11.10.2012, 08:26     Getchar и putchar EOF
Ответ Создать тему
Опции темы

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