(10)scanw()函数
能够在屏幕的任意位置读入格式化字符串。
(11)wscanw()函数和mvwscanw()函数
从一个窗口中读取数据
getstr()系列函数
这些函数用于从终端读取字符串。本质上,这个函数执行的任务和连续用getch()函数读取
字符的功能相同:在遇到回车符、新行符和文末符时将用户指针指向该字符串。
示例如下:
dp@dp:~/cursestest % cat 1.c
#include <locale.h>
#include <ncurses.h>
#include <string.h>
int main()
{
char mess[]="您的性别:"; /* 将要被打印的字符串信息*/
char mesg[]="您的名字:"; /* 将要被打印的字符串信息*/
char name[80];
char sex[10];
int row,col; /* 存储行号和列号的变量,用于指定光标位置*/
setlocale(LC_ALL,"");
initscr(); /* 进入curses 模式*/
getmaxyx(stdscr,row,col); /* 取得stdscr 的行数和列数*/
mvprintw(row/2,col/2-strlen(mesg),"%s",mesg); /* 在屏幕的正中打印字符串mesg */
getstr(name); /* 将指针name 指向读取的字符串*/
mvprintw(row/3,col/2-strlen(mess),"%s",mess); /* 在屏幕的正中打印字符串mesg */
getstr(sex); /* 将指针sex向读取的字符串*/
char man[]="man";
if (strcmp(sex,man)==0) {
mvprintw(LINES-2,0, "%s先生好,很高兴认识您", name);//LINES为当前行数
}
else
{
mvprintw(LINES-2,0, "%s女士好,很高兴认识您", name);//LINES为当前行数
}
refresh();
getch();
endwin();
return 0;
}
编译并执行程序:
dp@dp:~/cursestest % gcc -lncursesw 1.c -o mytest
dp@dp:~/cursestest % ./mytest