Rechercher une page de manuel
ncurses.3x
Langue: pl
Version: 55658 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAZWA
ncurses - pakiet obs³ugi CRT i jego optymalizacjiSTRESZCZENIE
#include <curses.h>OPIS
Funkcje biblioteki curses daj± u¿ytkownikowi niezale¿ne od terminala metody obs³ugiwania ekranów znakowych z sensown± optymalizacj±. Ta implementacja to ,,nowe curses'' (ncurses). Jest ona zatwierdzonym zamiennikiem dla klasycznych curses z 4.4BSD, których rozwoju zaprzestano.Funkcje ncurses emuluj± bibliotekê curses(3X) Systemu Vr4, a tak¿e standard XPG4 (XSI curses), lecz biblioteka ncurses jest wolnodostêpna w postaci ¼ród³owej. Ró¿nice miêdzy curses z SVr4 podsumowano w sekcjach ROZSZERZENIA i B£ÊDY, wystêpuj±cych poni¿ej, a opisano szczegó³owo w takich samych sekcjach stron podrêcznika systemowego po¶wiêconych poszczególnym funkcjom.
Program, który korzysta z tych funkcji, musi byæ skonsolidowany z opcj± -lncurses (lub je¶li zosta³ wygenerowany) z bibliotek± debuggow± -lncurses_g. Biblioteka ncurses_g generuje logi ¶ledzenia (plik o nazwie 'trace', w bie¿±cym katalogu), które opisuj± akcje curses.
Pakiet ncurses obs³uguje: dzia³anie na ekranie, oknach i padach; wyj¶cie do okien i padów; odczytywanie wej¶cia z terminala; sterowanie terminalem oraz opcje wej¶cia/wyj¶cia curses; funkcje zapytañ ¶rodowiskowych; dzia³anie na kolorach; u¿ywanie klawiszy o miêkkich etykietach; w³a¶ciwo¶ci terminfo; i dostêp do niskopoziomowych funkcji obs³ugi terminala.
Aby zainicjalizowaæ pakiet, nale¿y na samym pocz±tku wywo³aæ funkcjê initscr, lub newterm. Przed wyj¶ciem nale¿y wywo³aæ funkcjê endwin. Aby uzyskaæ wej¶cie znakowe znak-po-znaku bez echa (wiêkszo¶æ interaktywnie zorientowanych programów tego chce), powinno siê u¿yæ nastêpuj±cej sekwencji:
initscr(); cbreak(); noecho();
Wiêkszo¶æ programów chêtnie wykorzystuje te¿ sekwencje:
nonl();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);
Przed uruchomieniem programu curses, nale¿y ustawiæ <tab stops> (pozycje tabulacji) terminala, oraz wys³aæ doñ ³añcuchy inicjuj±ce. Mo¿na tego dokonaæ, wywo³uj±c polecenie tput init po uprzednim wyeksportowaniu zmiennej ¶rodowiskowej TERM. Odpowiedzialny za to jest tset(1). [Szczegó³y - zobacz terminfo(5).]
Biblioteka curses zezwala na dzia³anie na strukturach danych, nazywanych oknami, o których mo¿na my¶leæ jak o dwuwymiarowych tablicach znaków, reprezentuj±cych czê¶æ lub ca³o¶æ ekranu CRT. Dostarczane jest domy¶lne okno, o nazwie stdscr, którego wymiary odpowiadaj± ekranowi terminala. Inne okna mo¿na utworzyæ przy u¿yciu funkcji newwin.
Zauwa¿, ¿e curses nie obs³uguje zachodz±cych okien - jest to robione przez bibliotekê panels(3x). Znaczy to, ¿e mo¿esz albo u¿ywaæ stdscr, albo podzieliæ ekran na okna i nie u¿ywaæ stdscr w ogóle. £±czenie tych dwóch spowoduje niepraktyczne i niepo¿±dane efekty.
Do okien mo¿na odnosiæ siê poprzez zmienne zadeklarowane jako WINDOW *. Dzia³añ na tych strukturach dokonuje siê funkcjami opisanymi na tej stronie oraz w innych miejscach stron podrêcznika ncurses. Najbardziej podstawowymi funkcjami s± move i addch. Ogólniejsze wersje tych funkcji figuruj± pod nazwami zaczynaj±cymi siê od w i umo¿liwiaj± podanie okna. Funkcje nie zaczynaj±ce siê od w dzia³aj± na stdscr.
Po u¿yciu funkcji dzia³ania na oknie, wywo³ywany jest refresh, nakazuj±cy curses, by ekran CRT zacz±³ wygl±daæ tak jak stdscr. Znaki okna s± w³a¶ciwie typu chtype (znak i dane atrybutu), wiêc dane o znaku mo¿na przechowywaæ w nim samym.
Mo¿na te¿ operowaæ szczególnymi oknami, padami. Okna te nie s± ograniczone rozmiarami ekranu, a ich zawarto¶æ nie musi byæ w ca³o¶ci wy¶wietlana. Wiêcej szczegó³ów znajdziesz w curs_pad(3X).
Oprócz rysowania na ekranie znaków, mog± byæ obs³ugiwane atrybuty i kolory, a wiêc znaki mog± pokazywaæ siê w trybach takich jak podkre¶lenie, inwersja, lub w kolorze, o ile terminal na to pozwala. Mo¿na wy¶wietlaæ znaki sk³adaj±ce siê na linie. Na wej¶ciu, ncurses potrafi t³umaczyæ klawisze strza³ek i funkcyjne, które przekazuj± sekwencje eskejpowe, na zwyk³e warto¶ci. Atrybuty wideo, znaki rysowania linii i nazwy warto¶ci wej¶ciowych s± zdefiniowane w <curses.h> i maj± nazwy typu A_REVERSE, ACS_HLINE, czy KEY_LEFT.
Je¶li ustawiono zmienne ¶rodowiskowe LINES i COLUMNS, lub je¶li program jest uruchomiony w ¶rodowisku okienkowym, to informacje o rozmiarze ekranu przes³oni± dane odczytywane z terminfo.
Je¶li zdefiniowana jest zmienna ¶rodowiskowa TERMINFO, to ka¿dy program u¿ywaj±cy curses bêdzie szuka³ najpierw lokalnej definicji terminala, a dopiero potem zajrzy do standardowego miejsca. Np. Je¶li TERM jest ustawione na att4424, to wkompilowana definicja terminala jest znajdywana w
/usr/lib/terminfo/a/att4424.
(a jest kopiowane z pierwszej litery att4424, aby zapobiec tworzeniu wielkich katalogów.) Jednak je¶li ustawiono TERMINFO, np. na warto¶æ $HOME/myterms, to curses zajrzy wpierw do
$HOME/myterms/a/att4424,
a je¶li to zawiedzie, do
/usr/lib/terminfo/a/att4424.
Jest to przydatne dla rozwijania eksperymentalnych definicji, lub gdy nie ma praw zapisu do /usr/lib/terminfo.
Zmienne ca³kowite LINES i COLS s± zdefiniowane w <curses.h> i s± wype³niane przez initscr warto¶ciami, odpowiadaj±cymi rozmiarowi ekranu. Sta³e TRUE i FALSE maj± odpowiednio warto¶ci 1 i 0.
Zmienne curses definiuj± równie¿ zmienn± WINDOW *curscr, która jest u¿ywana do pewnych niskopoziomowych operacji, jak np. oczyszczanie i od¶wie¿anie ekranu, zawieraj±cego ¶mieci. curscr mo¿e byæ u¿yte tylko w niektórych funkcjach.
Nazwy funkcji i argumentów
Wiele funkcji curses ma dwie lub wiêcej wersji. Zmienne, poprzedzone w, wymagaj± argumentu okna. Zmienne poprzedzone p wymagaj± argumentu padu. Funkcje bez przedrostka odnosz± siê w ogólno¶ci do stdscr.Zmienne z przedrostkiem mv wymagaj± wspó³rzêdnych y i x, wskazuj±cych miejsce ekranu, do którego nale¿y siê przenie¶æ przed dokonaniem akcji. Funkcje te wymuszaj± wywo³anie move przed wywo³aniem innej funkcji. Wspó³rzêdna y zawsze odnosi siê do wiersza (okna), a x do kolumny. Górny lewy naro¿nik ma wspó³rzêdne (0,0), nie (1,1).
Funkcje z przedrostkiem mvw pobieraj± zarówno argument okna, jak i parametry wspó³rzêdnych. Argument okna jest zawsze podawany przed wspó³rzêdnymi.
W ka¿dym wypadku, win jest oknem, a pad padem, na które wp³ywa funkcja. win i pad s± zawsze wska¼nikami do typu WINDOW.
Funkcje ustawiaj±ce opcje wymagaj± flagi logicznej bf, której warto¶æ wynosi albo TRUE, albo FALSE; bf jest zawsze typu bool. Zmienne ch i attrs ni¿ej, s± zawsze typu chtype. Typy WINDOW, SCREEN, bool, i chtype s± zdefiniowane w <curses.h>. Typ TERMINAL jest zdefiniowany w <term.h>. Wszystkie pozosta³e argumenty s± typu integer.
Indeks nazw funkcji
W poni¿szej tablicy podano ka¿d± z funkcji curses, wskazuj±c przy okazji odpowiadaj±c± jej stronê podrêcznika man. Funkcje oznaczone `*', s± specyficzne dla ncurses, nieopisane przez XPG4 i SVr4.Nazwa funkcji Nazwa strony podrêcznika ___________________________________________ addch curs_addch(3X) addchnstr curs_addchstr(3X) addchstr curs_addchstr(3X) addnstr curs_addstr(3X) addstr curs_addstr(3X) attroff curs_attr(3X) attron curs_attr(3X) attrset curs_attr(3X) baudrate curs_termattrs(3X) beep curs_beep(3X) bkgd curs_bkgd(3X) bkgdset curs_bkgd(3X) border curs_border(3X) box curs_border(3X) can_change_color curs_color(3X) cbreak curs_inopts(3X) clear curs_clear(3X) clearok curs_outopts(3X) clrtobot curs_clear(3X) clrtoeol curs_clear(3X) color_content curs_color(3X) copywin curs_overlay(3X) curs_set curs_kernel(3X) def_prog_mode curs_kernel(3X) def_shell_mode curs_kernel(3X) del_curterm curs_terminfo(3X) delay_output curs_util(3X) delch curs_delch(3X) deleteln curs_deleteln(3X) delscreen curs_initscr(3X) delwin curs_window(3X) derwin curs_window(3X) doupdate curs_refresh(3X) dupwin curs_window(3X) echo curs_inopts(3X) echochar curs_addch(3X) endwin curs_initscr(3X) erase curs_clear(3X) erasechar curs_termattrs(3X) filter curs_util(3X) flash curs_beep(3X) flushinp curs_util(3X) getbegyx curs_getyx(3X) getch curs_getch(3X) getmaxyx curs_getyx(3X) getmouse curs_mouse(3X)* getparyx curs_getyx(3X) getstr curs_getstr(3X) getsyx curs_kernel(3X) getwin curs_util(3X) getyx curs_getyx(3X) halfdelay curs_inopts(3X) has_colors curs_color(3X) has_ic curs_termattrs(3X) has_il curs_termattrs(3X) hline curs_border(3X) idcok curs_outopts(3X) idlok curs_outopts(3X) immedok curs_outopts(3X) inch curs_inch(3X) inchnstr curs_inchstr(3X) inchstr curs_inchstr(3X) init_color curs_color(3X) init_pair curs_color(3X) initscr curs_initscr(3X) innstr curs_instr(3X) insch curs_insch(3X) insdelln curs_deleteln(3X) insertln curs_deleteln(3X) insnstr curs_insstr(3X) insstr curs_insstr(3X) instr curs_instr(3X) intrflush curs_inopts(3X) is_linetouched curs_touch(3X) is_wintouched curs_touch(3X) isendwin curs_initscr(3X) keyname curs_util(3X) keypad curs_inopts(3X) killchar curs_termattrs(3X) leaveok curs_outopts(3X) longname curs_termattrs(3X) meta curs_inopts(3X) mouseinterval curs_mouse(3X)* mousemask curs_mouse(3X)* move curs_move(3X) mvaddch curs_addch(3X) mvaddchnstr curs_addchstr(3X) mvaddchstr curs_addchstr(3X) mvaddnstr curs_addstr(3X) mvaddstr curs_addstr(3X) mvcur curs_terminfo(3X) mvdelch curs_delch(3X) mvderwin curs_window(3X) mvgetch curs_getch(3X) mvgetstr curs_getstr(3X) mvinch curs_inch(3X) mvinchnstr curs_inchstr(3X) mvinchstr curs_inchstr(3X) mvinnstr curs_instr(3X) mvinsch curs_insch(3X) mvinsnstr curs_insstr(3X) mvinsstr curs_insstr(3X) mvinstr curs_instr(3X) mvprintw curs_printw(3X) mvscanw curs_scanw(3X) mvwaddch curs_addch(3X) mvwaddchnstr curs_addchstr(3X) mvwaddchstr curs_addchstr(3X) mvwaddnstr curs_addstr(3X) mvwaddstr curs_addstr(3X) mvwdelch curs_delch(3X) mvwgetch curs_getch(3X) mvwgetstr curs_getstr(3X) mvwin curs_window(3X) mvwinch curs_inch(3X) mvwinchnstr curs_inchstr(3X) mvwinchstr curs_inchstr(3X) mvwinnstr curs_instr(3X) mvwinsch curs_insch(3X) mvwinsnstr curs_insstr(3X) mvwinsstr curs_insstr(3X) mvwinstr curs_instr(3X) mvwprintw curs_printw(3X) mvwscanw curs_scanw(3X) napms curs_kernel(3X) newpad curs_pad(3X) newterm curs_initscr(3X) newwin curs_window(3X) nl curs_outopts(3X) nocbreak curs_inopts(3X) nodelay curs_inopts(3X) noecho curs_inopts(3X) nonl curs_outopts(3X) noqiflush curs_inopts(3X) noraw curs_inopts(3X) notimeout curs_inopts(3X) overlay curs_overlay(3X) overwrite curs_overlay(3X) pair_content curs_color(3X) pechochar curs_pad(3X) pnoutrefresh curs_pad(3X) prefresh curs_pad(3X) printw curs_printw(3X) putp curs_terminfo(3X) putwin curs_util(3X) qiflush curs_inopts(3X) raw curs_inopts(3X) redrawwin curs_refresh(3X) refresh curs_refresh(3X) reset_prog_mode curs_kernel(3X) reset_shell_mode curs_kernel(3X) resetty curs_kernel(3X) restartterm curs_terminfo(3X) ripoffline curs_kernel(3X) savetty curs_kernel(3X) scanw curs_scanw(3X) scr_dump curs_scr_dump(3X) scr_init curs_scr_dump(3X) scr_restore curs_scr_dump(3X) scr_set curs_scr_dump(3X) scrl curs_scroll(3X) scroll curs_scroll(3X) scrollok curs_outopts(3X) set_curterm curs_terminfo(3X) set_term curs_initscr(3X) setscrreg curs_outopts(3X) setsyx curs_kernel(3X) setterm curs_terminfo(3X) setupterm curs_terminfo(3X) slk_attroff curs_slk(3X) slk_attron curs_slk(3X) slk_attrset curs_slk(3X) slk_clear curs_slk(3X) slk_init curs_slk(3X) slk_label curs_slk(3X) slk_noutrefresh curs_slk(3X) slk_refresh curs_slk(3X) slk_restore curs_slk(3X) slk_set curs_slk(3X) slk_touch curs_slk(3X) standend curs_attr(3X) standout curs_attr(3X) start_color curs_color(3X) subpad curs_pad(3X) subwin curs_window(3X) syncok curs_window(3X) termattrs curs_termattrs(3X) termname curs_termattrs(3X) tgetent curs_termcap(3X) tgetflag curs_termcap(3X) tgetnum curs_termcap(3X) tgetstr curs_termcap(3X) tgoto curs_termcap(3X) tigetflag curs_terminfo(3X) tigetnum curs_terminfo(3X) tigetstr curs_terminfo(3X) timeout curs_inopts(3X) touchline curs_touch(3X) touchwin curs_touch(3X) tparm curs_terminfo(3X) tputs curs_termcap(3X) tputs curs_terminfo(3X) typeahead curs_inopts(3X) unctrl curs_util(3X) ungetch curs_getch(3X) ungetmouse curs_mouse(3X)* untouchwin curs_touch(3X) use_env curs_util(3X) vidattr curs_terminfo(3X) vidputs curs_terminfo(3X) vline curs_border(3X) vwprintw curs_printw(3X) vwscanw curs_scanw(3X) waddch curs_addch(3X) waddchnstr curs_addchstr(3X) waddchstr curs_addchstr(3X) waddnstr curs_addstr(3X) waddstr curs_addstr(3X) wattroff curs_attr(3X) wattron curs_attr(3X) wattrset curs_attr(3X) wbkgd curs_bkgd(3X) wbkgdset curs_bkgd(3X) wborder curs_border(3X) wclear curs_clear(3X) wclrtobot curs_clear(3X) wclrtoeol curs_clear(3X) wcursyncup curs_window(3X) wdelch curs_delch(3X) wdeleteln curs_deleteln(3X) wechochar curs_addch(3X) wenclose curs_mouse(3X)* werase curs_clear(3X) wgetch curs_getch(3X) wgetnstr curs_getstr(3X) wgetstr curs_getstr(3X) whline curs_border(3X) winch curs_inch(3X) winchnstr curs_inchstr(3X) winchstr curs_inchstr(3X) winnstr curs_instr(3X) winsch curs_insch(3X) winsdelln curs_deleteln(3X) winsertln curs_deleteln(3X) winsnstr curs_insstr(3X) winsstr curs_insstr(3X) winstr curs_instr(3X) wmove curs_move(3X) wnoutrefresh curs_refresh(3X) wprintw curs_printw(3X) wredrawln curs_refresh(3X) wrefresh curs_refresh(3X) wresize curs_resize(3x)* wscanw curs_scanw(3X) wscrl curs_scroll(3X) wsetscrreg curs_outopts(3X) wstandend curs_attr(3X) wstandout curs_attr(3X) wsyncdown curs_window(3X) wsyncup curs_window(3X) wtimeout curs_inopts(3X) wtouchln curs_touch(3X) wvline curs_border(3X)
WARTO¦Æ ZWRACANA
Funkcje, które zwracaj± integer, zwracaj± ERR w wypadku b³êdu, a po sukcesie dowolny inny integer. (chyba ¿e zaznaczono inaczej w opisie funkcji).Wszystkie makra zwracaj± warto¶æ wersji w, poza setscrreg, wsetscrreg, getyx, getbegyx, getmaxyx. Warto¶ci zwracane setscrreg, wsetscrreg, getyx, getbegyx, i getmaxyx s± niezdefiniowane (np. nie powinny byæ u¿ywane jako instrukcje prawej strony przypisañ).
Funkcje, które zwracaj± wska¼niki, po b³êdzie zwracaj± NULL.
ZOBACZ TAK¯E
terminfo(5) oraz strony 3X , których nazwa zaczyna siê od "curs_".ROZSZERZENIA
Biblioteka curses mo¿e byæ skompilowana z opcj± (-DTERMCAP_FILE), która powoduje skok wstecz, do starodawnego pliku /etc/termcap, je¶li nie ma odpowiedniego wpisu w terminfo. U¿ycie tej w³a¶ciwo¶ci nie jest zalecane, gdy¿ w zasadzie w³±cza ona do kodu startowego curses ca³y kompilator termcapa.Kompilowanie z -DTERMCAP_FILE zmienia sekwencjê inicjalizacji biblioteki, na sposób podobny do 4.4BSD curses. Je¶li nie ma ¿adnego terminfo, opowiadaj±cego TERM, to biblioteka zaczyna szukaæ wpisów termcap. Robi to w nastêpuj±cych miejscach: (1) je¶li TERMINFO nie jest zdefiniowane, w pliku o nazwie TERMCAP_FILE; (2) je¶li zdefiniowano TERMINFO, i nazwa zaczyna siê od uko¶nika, to jest interpretowane jako nazwa pliku termcap, w którym nale¿y szukaæ TERM; (3) gdy TERMINFO ma napis prowadz±cy, który wygl±da jak lista wpisów nazw terminala i odpowiada TERM, to zawarto¶æ TERMINFO jest interpretowana jako termcap; (4) je¶li terminfo wygl±da jak termcap, lecz nie zawiera TERM, plik termcap jest przeszukiwany w¶ród oddzielonych dwukropkami ¶cie¿ek TERMPATHS, o ile jest ono zdefiniowane i w ~/.termcap i ostatecznie w warto¶ci plikowej TERMCAP_FILE.
Wersje curses, skompilowane na PC, wspieraj± znaki PC ROM (zawieraj±ce znaki 0-31, których curses z SVr4 nie potrafi wy¶wietliæ). Zobacz sekcje ROZSZERZENIA w curs_addch(3x) i curs_attr(3x).
PRZENO¦NO¦Æ
Bibliotekê curses zaprojektowano jako zgodn± ze standardem XSI Curses na poziomie podstawowym. Obs³ugiwane s± pewne partie rozszerzonych XSI Curses (³±cznie z obs³ug± koloru). Nie zaimplementowano jeszcze nastêpuj±cych wywo³añ rozszerzonego XSI Curses, zwi±zanych z obs³ug± szerokich (wielobajtowych) znaków: addnwstr, addwstr, mvaddnwstr, mvwaddnwstr, mvaddwstr, waddnwstr, waddwstr, add_wch, wadd_wch, mvadd_wch, mvwadd_wch, add_wchnstr, add_wchstr, wadd_wchnstr, wadd_wchstr, mvadd_wchnstr, mvadd_wchstr, mvwadd_wchnstr, mvwadd_wchstr, bkgrndset, bkgrnd, getbkgrnd, wbkgrnd, wbkgrndset, wgetbkgrnd, border_set, wborder_set, box_set, hline_set, mvhline_set, mvvline_set, mvwhline_set, mvwvline_set, whline_set, vhline_set, wvline_set, echo_wchar, wecho_wchar, erasewchar, killwchar, get_wch, mvget_wch, mvwget_ch, wget_wch, getwchtype, get_wstr, getn_wstr, wget_wstr, wgetn_wstr, mvget_wstr, mvgetn_wstr, mvwget_wstr, mvwgetn_wstr, innwstr, inwstr, winnwstr, winwstr, mvinnwstr, mvinwstr, mvwinnwstr, mvwinwstr, ins_nwstr, ins_wstr, mvins_nwstr, mvins_wstr, mvwins_nwstr, mvwins_wstr, wins_nwstr, wins_wstr, ins_wch, wins_wch, mvins_wch, mvwins_wch, in_wch, win_wch, mvin_wch, mvwin_wch, inwchstr, inwchnstr, winwchstr, winwchnstr, mvinwchstr, mvinwchnstr, mvinwchstr, mvwinwchnstr.Niewielka ilo¶æ ró¿nic (to jest poszczególnych ró¿nic miêdzy XSI Curses, a wywo³aniami curses) jest opisywana w sekcjach PRZENO¦NO¦Æ konkretnych stron podrêcznika man.
Format terminfo, obs³ugiwany przez curses jest binarnie zgodny z SVr$, lecz nie jest zgodny z XSI curses. Jest tak, poniewa¿ ludzie od XSI Curses, w przyp³ywie uszkodzenia mózgu, zmienili nieudokumentowan± w³a¶ciwo¶æ SVr4 getm z napisu na warto¶æ logiczn±, zmieniaj±c przez to offsety binarne wszystkich pozosta³ych w³a¶ciwo¶ci.
Funkcje getmouse, mousemask, ungetmouse, mouseinterval i wenclose, zwi±zane z mysz±, nie s± czê¶ci± XPG4 ani SVr$. Zobacz dla dalszych szczegó³ów curs_mouse(3X).
Funkcja wresize nie jest czê¶ci± XPG4, i nie jest obecna w SVr4. Wiêcej szczegó³ów znajdziesz w curs_resize(3X).
W historycznych wersjach curses, opó¼nienia zawarte we w³a¶ciwo¶ciach cr, ind, cub1, ff i tab uaktywnia³y odpowiadaj±ce im bity opó¼nieñ w UNIX-owym sterowniku tty. W tej implementacji wype³nianie jest dokonywane wys³aniami znaków NUL. Metoda ta jest trochê bardziej kosztowna, lecz znacz±co zawê¿a interfejs z j±drem UNIX-a i odpowiednio do tego polepsza przeno¶no¶æ pakietu.
W standardzie XSI i w stronach podrêcznika SVr4, wiele wpisów ma argumenty prototypopwe char *const (lub cchar_t *const, lub wchar_t *const, lub void *const). Zale¿nie od interpretacji standardu ANSI C (zobacz sekcjê 3.5.4.1), deklaracje te s± (a) bez znaczenia, lub (b) bez znaczenia i niedozwolone. Deklaracja const char *x to modyfikowalny wska¼nik do modyfikowalnych danych, lecz char *const x to niemodyfikowalny wska¼nik do modyfikowalnych danych. Poniewa¿ C przekazuje argumenty przez warto¶æ, <typ> *const jako typ formalny jest co najmniej w±tpliwy. Ta wiêc w tej implementacji zamieniono je globalnie na const <type> *.
UWAGI
Plik nag³ówkowy <curses.h> automatycznie w³±cza pliki <stdio.h> i <unctrl.h>.Jesli standardowe wyj¶cie, programu curses jest przekierowywane do czego¶, co nie jest tty, od¶wie¿enia ekranu bêd± kierowane na standardowe wyj¶cie b³êdu. Jest to nieudokumentowana w³a¶ciwo¶æ curses z AT&T SVr3.
AUTORZY
Zeyd M. Ben-Halim, Eric S. Raymond. Zej¶cie z oryginalnych pcurses zrobi³ Pavel Curtis.Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre