ncurses a polskie znaki

Marcin 'Qrczak' Kowalczyk qrczak w knm.org.pl
Sob, 2 Lut 2002, 12:56:33 CET


Fri, 1 Feb 2002 22:05:45 +0100, Grzegorz Goławski <grzegol w poczta.fm> pisze:

> Po uruchomieniu tego programu zamiast ł na ekranie jest jakiś dziwny znak.
> Wszystko jest w porządku, jeżeli zamiast addch('ł') jest printw("ł").

To jest wina idiotycznego języka C, w którym typ char jest zwykle
ze znakiem. Zrzutuj na unsigned char, a będzie dobrze.

W tych sprawach jest bardzo łatwo o pomyłki. Np. getchar() zwraca
znak zrzutowany na unsigned char i potem na int (żeby rozróżnić EOF).
Jeśli taką liczbę zapiszemy w tablicy charów i odczytamy z powrotem,
to wyjdzie co innego - tylko dla znaków spoza ASCII.

-- 
 __("<  Marcin Kowalczyk * qrczak w knm.org.pl http://qrczak.ids.net.pl/
 \__/
  ^^
QRCZAK



Więcej informacji o liście dyskusyjnej pld-devel-pl