- 论坛徽章:
- 15
|
本帖最后由 yulihua49 于 2013-08-13 23:55 编辑
skysky1752 发表于 2013-08-13 16:50 ![]()
回复 4# yulihua49
非窗口下使用什么函数来取字符呢?(不带回车就可以取的,就像linux的很多命令 如le ...
这不是函数的问题。
需要设置你的终端。使用ioctl函数,见termio.h
把终端设置成每个字符都响应,无延迟模式,注意使用完毕及时恢复回来。否则行为将很怪异。
设置完成后,使用getchar也可以单键响应。但是不能解释功能键和方向键。
如果希望使用功能键如:KEY_F1,KEY_RIGHT,你必须在窗口模式下。使用getch()函数、
其实你就使用窗口函数,挺方便的:
initscr();
clear();
echo();
move(10,20);
printw("%s",prompt);
refresh();
int c=getch();
if(c==KEY_F1) {
// 干点啥
}
ungetch(); //不是功能键,退回去。
scanw("%d",&a);//继续接收数据.
.......
endwin();
你还可以:
newwin();//开新窗口
subwin();//开子窗口
wprintw();//在新窗口或子窗口输出
wrefresh();
man吧。
还可以在窗口画框,显示彩色、反显、高亮、闪烁等各种属性,比标准IO功能丰富多了。
|
|