Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
inquisitor
16 / 7 / 17
Регистрация: 22.12.2015
Сообщений: 1,902
1

Как вывести все коды ASCII?

21.09.2016, 18:26. Просмотров 400. Ответов 6
Метки нет (Все метки)

Есть код,он не выводит schift,alt,ctrl,enter и др.Что подправить.
Какой код трех нажатых одновременно клавиш Shift+Alt+f ?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
 
void main() {
         int key;
 
 
// Read in the cycle of the characters from the keyboard and display
// ASCII-codes of keys pressed.
// Exit the cycle by pressing the ESC key does not
 
         for(;;) {
 
// Read character
 
                  key = getch();
 
// If the read character is 0, the call getch () function
// For the extended ASCII-code of the pressed key
 
            if( (key == 0) || (key == 0xe0) ) {
                                key = getch();
                                printf( "extended ASCII-code \t" );
                  }
 
                  else printf( "ASCII-code:\t");
 
                  printf("%d\n",key);
 
// Pressing the ESC key exits the loop
 
                  if( key == 27) break;
         }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2016, 18:26
Ответы с готовыми решениями:

Выведите все символы ASCII с кодами от 33 до 126 и их коды
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; int main() { char i,n; for...

В строке массива передвинуть все ASCII коды символов на один вперед
Новичок в программировании, начал постепенно разбираться с символьными строками и ASCII кодами. В...

Как можно использовать ASCII коды символов для проверки корректности ввода?
кто знает как можно использовать ASCII коды символов для проверки корректности ввода? вот у меня...

Написать программу определяющую коды ASCII
Напишите программу, определяющую коды ASCII, введенных с клавиатуры букв. Выход из программы по...

Изменить начертания двух заданных символов, ASCII-коды которых разняться на 1, а также установить соответствующий шрифт
Дано: исходные символы: % (ASCII-код 37) &amp; ...

6
nmcf
6528 / 5752 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
21.09.2016, 18:29 2
Цитата Сообщение от scherbakovss201 Посмотреть сообщение
не выводит schift,alt
А как ты хочешь их увидеть? Это вспомогательные клавиши без собственных ASCII-кодов.
0
inquisitor
16 / 7 / 17
Регистрация: 22.12.2015
Сообщений: 1,902
21.09.2016, 18:32  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
А как ты хочешь их увидеть? Это вспомогательные клавиши без собственных ASCII-кодов.
вожу f получаю 33
ввожу Shift получаю 12
ввожу Alt получаю 11
так в таблице написано.
0
nmcf
6528 / 5752 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
21.09.2016, 18:47 4
Комбинации с Shift - это символы верхнего регистра.
Что за таблица?
0
gazlan
3163 / 1922 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
21.09.2016, 19:23 5
Цитата Сообщение от scherbakovss201 Посмотреть сообщение
Что подправить
void main () - в первую очередь.

Если платформа Windows - то используйте ReadConsoleInput
ReadConsoleInput
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
   DWORD    dwInputEvents = 0; // Number of Events Actually Read
 
   do 
   {
      // Read an Input Events from the Input Event Queue
      if (!ReadConsoleInput(GetStdHandle(STD_INPUT_HANDLE),(INPUT_RECORD*)&InputBuffer,1,&dwInputEvents))
      {
         Error();
      }
 
      switch (InputBuffer.EventType) 
      {
         case KEY_EVENT:
         {
            KeyHandler(InputBuffer);
            break;
         }
         case MOUSE_EVENT:
         {
            MouseHandler(InputBuffer);
            break;
         }
         case WINDOW_BUFFER_SIZE_EVENT:
         {
            ResizeHandler(InputBuffer);
            break;
         }
         case MENU_EVENT:
         case FOCUS_EVENT:
         default:
         {
            break;   // Used Internally. Ignore
         }
      }
   } 
   while (InputBuffer.Event.KeyEvent.wVirtualKeyCode != VK_ESCAPE);
0
inquisitor
16 / 7 / 17
Регистрация: 22.12.2015
Сообщений: 1,902
21.09.2016, 19:51  [ТС] 6
на С Builder
для консоли
какой скан код shift,alt
ну как узнать что они нажаты?
0
gazlan
3163 / 1922 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
21.09.2016, 20:16 7
Цитата Сообщение от scherbakovss201 Посмотреть сообщение
на С Builder
Нет такого. Есть C++ Builder. Ответ уже был дан выше.

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#define KF_RIGHT_ALT_PRESSED                 (0x00000001)
#define KF_LEFT_ALT_PRESSED                  (0x00000002)
#define KF_RIGHT_CTRL_PRESSED                (0x00000004)
#define KF_LEFT_CTRL_PRESSED                 (0x00000008)
#define KF_SHIFT_PRESSED                     (0x00000010)
#define KF_NUMLOCK_ON                        (0x00000020)
#define KF_SCROLLLOCK_ON                     (0x00000040)
#define KF_CAPSLOCK_ON                       (0x00000080)
#define KF_ENHANCED_KEY                      (0x00000100)
 
...
 
bool ProcessKey(const INPUT_RECORD& rInputBuffer)
{
   // A 4-byte unsigned integer field
   // [url]http://msdn.microsoft.com/en-us/library/cc248946.aspx[/url]
   _bRightAlt  = (rInputBuffer.Event.KeyEvent.dwControlKeyState & KF_RIGHT_ALT_PRESSED)  == KF_RIGHT_ALT_PRESSED;
   _bLeftAlt   = (rInputBuffer.Event.KeyEvent.dwControlKeyState & KF_LEFT_ALT_PRESSED)   == KF_LEFT_ALT_PRESSED;
   _bRightCtrl = (rInputBuffer.Event.KeyEvent.dwControlKeyState & KF_RIGHT_CTRL_PRESSED) == KF_RIGHT_CTRL_PRESSED;
   _bLeftCtrl  = (rInputBuffer.Event.KeyEvent.dwControlKeyState & KF_LEFT_CTRL_PRESSED)  == KF_LEFT_CTRL_PRESSED;
   _bShift     = (rInputBuffer.Event.KeyEvent.dwControlKeyState & KF_SHIFT_PRESSED)      == KF_SHIFT_PRESSED;
 
   // A 2-byte unsigned integer field
   // [url]http://msdn.microsoft.com/en-us/library/cc248946.aspx[/url]
   switch (rInputBuffer.Event.KeyEvent.wVirtualKeyCode)
   {
      // From "winuser.h"
      case VK_ESCAPE:
      {
         return true;   // Should Exit !
      }
...
1
21.09.2016, 20:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2016, 20:16

Вывести все символы, ASCII-коды которых лежат между a и b включительно, в порядке возрастания их кодов
Даны два числа: a и b — коды символов. Ваша задача — вывести все символы, ASCII-коды которых лежат...

Вывести коды ASCII символов «a» и «q».
(Char). Вывести коды ASCII символов «a» и «q». Дана символьная переменная d. Присвоить логической...

Вывести на экран коды таблицы ASCII от 0 до 255 и их символы
Смог написать программу которая выводит либо символы, либо коды, но не могу сделать, чтобы...


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

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

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