ncurses輸入函式:字元+字串的輸入
- Copyright(C)
NCURSES Programming HOWTO
輸入函式
如果你的程式只有輸出而沒有輸入,那是非常單調的。讓我們來看看處理使用者輸入的函式。輸入函式也被分為三種:
getch ()
系列:讀取一個字元的一類函式。scanw()
系列:按照格式化讀取輸入的一類函式。getstr()
系列:讀取字串的一類函式。
getch()
系列函式
這個函式用於從鍵盤讀入一個字元。但是在使用它的時候需要考慮一些微妙的情況:例如你沒有事先呼叫cbreak()
函式的話,curses 不會連續讀取你輸入的字元,除非在輸入這些字元之前遇到了換行符
或者文末符
(EOF
)。為了避免這種情況的出現,在需要即時顯示輸入字元的程式中,必須先呼叫cbreak()
函式。另外一個比較廣泛的做法是使用noecho()
函式。這個函式被呼叫時,使用者輸入的字元不會立即顯示在螢幕上。cbreak()
和noecho()
是兩個用來管理鍵盤輸入的典型函式。鍵盤管理的具體內容將在鍵盤管理一章中介紹。
scanw()
系列函式
這些函式用法大體上和scanf()
函式相似。只不過加入了能夠在螢幕的任意位置讀入格式化字串的功能。
scanw()
函式和mvscanw()
函式
scanw()
函式的用法和sscanf()
函式的用法基本相同。實際上,在呼叫scanw()
函式時,是呼叫了wgetstr()
函式,並將wgetstr()
函式處理的資料結果傳送到一個scanw()
呼叫中。(wgetstr()
函式將在本章後半部分介紹,寫到這裡是為了結構整齊。)
wscanw()
函式和mvwscanw()
函式
這兩個函式的用法和以上兩個函式相似。區別在於它們從一個視窗中讀取資料。所以,它們需要指定視窗的指標作為第一個引數。
vwscanw()
函式(vwscanw()
)
這個函式和vprintf()
相似。它用於輸入變數表中所對應的變數。
getstr()
系列函式
這些函式用於從終端讀取字串。本質上,這個函式執行的任務和連續用getch()
函式讀取字元的功能相同:在遇到回車符、新行符和文末符時將使用者指標指向該字串。
例子
例:一個簡單的使用scanw()
函式的例子。
/*
Compile: gcc main.c -lncurses
*/
#include <ncurses.h> /* ncurses.h 已經包含了stdio.h */
#include <string.h>
int main()
{
char mesg[]="Enter a string: "; /* 將要被列印的字串資訊*/
char str[80];
int row,col; /* 儲存行號和列號的變數,用於指定游標位置*/
initscr(); /* 進入curses 模式*/
getmaxyx(stdscr,row,col); /* 取得stdscr 的行數和列數*/
mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
/* 在螢幕的正中列印字串mesg */
getstr(str); /* 將指標str 指向讀取的字串*/
mvprintw(LINES-2, 0, "You Entered: %s", str);
getch();
endwin();
return 0;
}
相關文章
- ncurses輸出函式:字元+字串的輸出函式字元字串
- 常用輸入輸出函式函式
- 輸出輸入函式彙總函式
- 輸入一段字串,去除字串中重複的字元,並輸出字串字元
- 第十八章 34用過載輸入運算子函式實現字串的輸入函式字串
- C#中幾個正規表示式匹配輸入字元的函式C#字元函式
- Python input()函式:獲取使用者輸入的字串Python函式字串
- C#中的輸入框函式C#函式
- 要點3:輸入函式對比與自定義輸入方式函式
- excel除法公式怎麼輸入 excel除法函式怎麼輸入Excel公式函式
- Excel函式應用教程:函式的輸入方法(轉)Excel函式
- 新手學python之Python的輸入輸出函式Python函式
- C中的基本輸入輸出函式(Android之JNI)函式Android
- 輸入框點選按鈕清除輸入的所有字元的封裝字元封裝
- input輸入框加入限制只能輸入正整數,輸入其他字元會自動清除字元
- 輸入一個ASCII碼,輸出對應的字元ASCII字元
- 將輸入的字元轉化為int格式輸出字元
- win10輸入法特殊字元怎麼輸入_win10微軟輸入法輸入特殊符號操作方法Win10字元微軟符號
- EXCEL中怎麼輸入@字元?Excel字元
- Mac——如何輸入⌘、⌥、⇧、⌃、⎋等特殊字元Mac字元
- Ubuntu下鍵盤輸入錯亂問題,輸入雙引號輸出的是@符號,輸入#號輸出的是未知語言的字元...Ubuntu符號字元
- JNI 在命令列視窗輸入字元,不顯所輸入字元,顯指定的掩飾符命令列字元
- 寫一個函式,輸入一個4位數字,要求輸出這4個數字字元函式字元
- 關於友元函式過載輸入輸出運算子函式
- 處理stdin輸入的字串指令字串
- imemode 控制輸入法,控制輸入框的輸入法
- 微信小程式input輸入框設定最大可輸入字元數量微信小程式字元
- 讀取不定長字串輸入字串
- word怎麼輸入帶圈字元?字元
- PopChar for mac(特別字元輸入工具)Mac字元
- 限制鍵盤輸入字元/位數字元
- 判斷輸入值全為數字的函式函式
- vue 輸入框輸入4位一空格,控制16位有效字元Vue字元
- c#彈窗輸入字串並獲取到輸入內容的一種方法C#字串
- 輸入輸出
- C語言——常用標準輸入輸出函式 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字串拷貝函式 strcpy(), strncpy(), strchr(), strstr()函式用法特點C語言函式字串
- 表單限制字串輸入長度字串
- JavaScript輸入字串字數倒計JavaScript字串