ncurses a polskie znaki

Marcin 'Qrczak' Kowalczyk qrczak at knm.org.pl
Sat Feb 2 12:56:33 CET 2002


Fri, 1 Feb 2002 22:05:45 +0100, Grzegorz Goławski <grzegol at 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 at knm.org.pl http://qrczak.ids.net.pl/
 \__/
  ^^
QRCZAK



More information about the pld-devel-pl mailing list