Kody ASCII

0

Witam ponownie. Nie daje mi spokoju pewna sprawa. Mianowicie, czy niektóre klawisze mają ten sam kod (np. END i h), czy ja pomyliłem się w pisaniu kodu? Stworzyłem króciutki program do wypisywania kodu wciśniętego klawisza. Kod zamieszczam poniżej.

#include <stdio.h>
#include <stdlib.h>
#include <ncurses.h>

int main()
{
    initscr();
    keypad(stdscr, TRUE);
    char xd;
    xd=getch();
    printw("%c\n", xd);
    int x=xd;
    printw("%d", x);
refresh();
getch();
endwin();
return 0;
}
0

END oraz h (kod 104), delete oraz J (kod 74), insert oraz K (kod 75).

EDIT: Znalazłem błąd w kodzie. Wynika on z dwóch rzeczy:

  1. getch() zwraca wynik jako int
  2. char ma zbyt mały zakres, by program mógł poprawnie działać

1 użytkowników online, w tym zalogowanych: 0, gości: 1