首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Linux ncurses 庫函數速查手冊:屏幕、鍵盤、窗口、顏色、面板完整分類

     編輯:關於C語言

Linux ncurses 庫函數速查手冊:屏幕、鍵盤、窗口、顏色、面板完整分類

編譯需鏈接 -lncurses,頭文件 <curses.h>。Fedora 安裝:yum install ncurses-devel。

一、屏幕基礎

  • 初始化/結束:initscr() / endwin()
  • 輸出:addch(), addchstr(), printw(), refresh()(必須調用刷新物理屏)
  • 讀取:inch(), instr()
  • 清除:erase(), clear(), clrtobot(), clrtoeol()
  • 光標:move(y,x), leaveok()
  • 屬性:attron/attroff/attrset(), standout/standend(), A_BOLD, A_UNDERLINE, A_REVERSE

二、鍵盤處理

  • 模式:echo/noecho(), cbreak/nocbreak(), raw/noraw()
  • 輸入:getch(), getstr(), getnstr(), scanw()

三、窗口系統

  • 創建/銷毀:newwin(lines,cols,y,x), delwin()
  • 通用前綴:w(窗口)、mv(移動)、mvw(窗口內移動)。如 waddch(win,ch), mvwprintw(win,y,x,fmt,...)。
  • 移動/刷新:mvwin(), wrefresh(), wclear(), werase()
  • 卷屏:scrollok(win,TRUE), scroll(win)
  • 優化刷新:wnoutrefresh() + doupdate()(批量更新)。

四、子窗口

  • subwin(parent, lines, cols, y, x):共享父窗口內存。
  • 使用前必須 touchwin(parent) 通知庫父窗口已變更。

五、Keypad 模式

  • keypad(win, TRUE):啟用功能鍵(KEY_UP, KEY_F(1) 等)。

六、彩色支持

  • has_colors(), start_color()
  • init_pair(num, fg, bg):定義色對(如 init_pair(1, COLOR_RED, COLOR_GREEN))。
  • COLOR_PAIR(num) 作為屬性使用(如 attron(COLOR_PAIR(1)))。
  • 顏色常量:COLOR_BLACK/RED/GREEN/YELLOW/BLUE/MAGENTA/CYAN/WHITE。
  • 自定義 RGB:init_color(num, r, g, b)(0~1000)。

七、Pad(大邏輯屏幕)

  • newpad(lines, cols):可大於物理屏。
  • prefresh(pad, py,px, sy1,sx1, sy2,sx2):指定 pad 區域映射到物理屏區域。
  • pnoutrefresh() 配合 doupdate()。

八、更多參考

man ncurses、man curs_* 系列手冊頁。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved