Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2015, 00:06   #1
Aqua77
 
Регистрация: 05.08.2015
Сообщений: 9
По умолчанию Как сделать чтобы символы пробел и Ентер не записывались? Вот как я придумал но, что-то не работает

Код:
#pragma hdstop
#include <stdio.h>
#include <conio.h>
#define eof 26
 
int main()
{
int c,sim;
sim=0;
  while((c=getchar())!=eof)
    if(c!=' ' || c!='\n')
    sim++;               
    printf("%d",sim); 
getch();
}

Последний раз редактировалось Stilet; 05.08.2015 в 08:28.
Aqua77 вне форума Ответить с цитированием
Старый 05.08.2015, 00:33   #2
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

так не выйдет... нужно ставить хук ибо, консоль отпраляет уже готовое
ловушку на клавиатуру, или посмотреть на функции, которые имеют приписку Console
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 05.08.2015, 00:35   #3
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Чтоб не выводились, используйте getch(), вместо getchar() и выводите символ с помощью putch(), если это не пробел и не Enter.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Старый 05.08.2015, 01:09   #4
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от Krasiosoft Посмотреть сообщение
Чтоб не выводились, используйте getch(), вместо getchar() и выводите символ с помощью putch(), если это не пробел и не Enter.
Он хочет что бы нажав на пробел... пробела не было, на клавиатуру если, getch выводит готовое
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 05.08.2015, 03:52   #5
Krasiosoft
Форумчанин
 
Аватар для Krasiosoft
 
Регистрация: 01.06.2015
Сообщений: 497
По умолчанию

Да не, тогда бы вопрос звучал иначе. Тут вроде речь идет: "чтоб символы не записывались", а не: "запретить нажатие".

Вот что-то вроде этого:

Код:
#include <stdio.h>
#include <conio.h>

#define eof 27  // Esc

int main()
{
    int CharCount=0;
    char c;
    while((c=getch())!=eof)
        if(c!=' ' && c!='\r' && c!='\n' && c!='\b'){
            putch(c);
            CharCount++;
        }

    printf("\nCount: %d",CharCount);

    getch();

    return 0;
}
Программа выводит все набранные символы кроме: Enter, Backspace, Space. По нажатию на Esc выводит количество набранных символов и завершает работу.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Krasiosoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать ввод с клавиатуры через пробел? DIQUON Помощь студентам 0 06.11.2012 19:35
Как сделать так, чтобы когда вводишь символы, текст двигался справа налево? gylayko Помощь студентам 7 03.11.2011 20:56
Центрование css-шаблона (как сделать - вроде прочитал, но что-то не работает)) vedro-compota HTML и CSS 9 11.10.2010 13:30
Как нстроить Ворд, чтобы он читал французские символы? hora Microsoft Office Word 8 30.04.2010 11:18