Linux curses 總結三(視窗)

2021-07-09 12:23:01 字數 2246 閱讀 7468

windows結構

建立和銷毀視窗

通用函式

乙個小栗子

乙個curses程式不僅僅只有乙個視窗,stdscr就是curses程式的預設視窗,stdscr就是特殊的windows結構
函式名

返回值作用

newwin

window *

建立視窗

delwin

int銷毀視窗

前面已經學習了對strscr的操作函式 這些函式在應用於視窗是也有相類似的函式

w--->用於視窗

mv--->用於游標移動

mvw---->用於視窗的游標移動

函式名

返回值引數

addch

intchar

waddch

intwindow*, char

mvaddch

intint,int, char

mvwaddch

intwindow*,int,int

printw

intchar,…

wprintw

intwindow*, char,…

mvprintw

intint,int, char,…

mvwprintw

intwindow*,char,int,int,…

移動和更新視窗

函式名返回值

作用mvwin

int移動乙個視窗

wrefresh

int對指定視窗重新整理

wclear

int對指定視窗清除

werase

int清除螢幕

touchwin

int通知curses函式庫視窗改變

srcollok

int視窗卷螢幕(字元在當前視窗排不下了就會上移)

srcoll

int

#include

#include

#include

int main()

} refresh();

sleep(2);

new_window_ptr = newwin(10,20,5,5);

mvwprintw(new_window_ptr,2,2,"%s","hello world");

mvwprintw(new_window_ptr,5,2,"%s","notice how very long line wrap inside in window");

wrefresh(new_window_ptr);

sleep(2);

a_letter ='0';

for(y_loop =0;y_loop1;y_loop++)

} refresh();

sleep(2);

touchwin(new_window_ptr);

//touchwin告訴new_window_ptr指向的視窗已經發生變化,

如果不不使用這個,下面語句不能使他重新繪製

wrefresh(new_window_ptr);

sleep(2);

popup_window_ptr = newwin(10,20,8,8);

box(popup_window_ptr,'|','-');

mvwprintw(popup_window_ptr,5,2,"%s","pop up window");

wrefresh(popup_window_ptr);

wrefresh(new_window_ptr);

sleep(2);

touchwin(new_window_ptr);

wrefresh(new_window_ptr);

sleep(2);

wclear(new_window_ptr);

wrefresh(new_window_ptr);

sleep(2);

delwin(new_window_ptr);

touchwin(popup_window_ptr);

wrefresh(popup_window_ptr);

sleep(2);

delwin(popup_window_ptr);

touchwin(stdscr);

refresh();

sleep(2);

endwin();

exit(exit_success);

}

Linux curses 總結三(對鍵盤的操作)

cbreak cooked 預處理模式 curses程式的控制模式函式 curses程式的鍵盤操作函式 小栗子curses程式的鍵盤操作是對底層的簡單封裝介面 cooked 標準輸入模式,處理的是一行資料,每次遇到 r 換行符 才會把輸入到快取的資料傳遞給程式,這種情況下鍵盤輸入特殊字元可以被處理 ...

滑窗問題總結

對於大多數子字串問題,我們獲得乙個字串和需要尋找乙個符合條件的子字串。乙個通常的解法是使用hashmap來關聯兩個指標,接下來是模板 思路 使用count作為匹配數 對於單個字串匹配問題,直接用乙個視窗滑動,右窗滑動並更改count值,使count值符合完全匹配條件 左窗滑動令count值不符合完全...

三周C 總結三

1 陣列概念 陣列名變數代表陣列首位址。定義 int x1 new int 10 string names 2.折半查詢演算法 要求陣列按照大小有序 static int quickfind int arr,int x 形式引數 int index 1 int low 0,high arr.leng...