![[ 永远的UNIX::UNIX技术资料的宝库 ]](/images/title.gif)
|
| 首页 > 编程技术 > C/C++ > 正文 |
 |
| 要如何在使用者不必按 RETURN 的情况下从 terminal 读进东西? |
| Steve Hayman (2001-04-19 10:43:52) |
在 BSD 中用 cbreak 模式,在 SysV 中则用 ~ICANON 模式。
如果你懒得用 "ioctl(2)" 来设定 terminal 的参数,也可以用 stty 来做,
不过有点慢又没有效率就是了。底下的程式自己看著办吧:
#include
main()
{
int c;
printf("Hit any character to continue\n");
/*
* ioctl() would be better here; only lazy
* programmers do it this way:
*/
system("/bin/stty cbreak"); /* or "stty raw" */
c = getchar();
system("/bin/stty -cbreak");
printf("Thank you for typing %c.\n", c);
exit(0);
}
有好几个人送给我更正确的解法。不过很抱歉我不想把它们加进去,因为这已经
超出这份文件的范围了。
通常对这个问题有兴趣的人,都是想要做一些控制萤幕显示之类的事情。如果你
也是的话,那请参考 "curses" 的相关文件。 "curses" 是一个 portable 的萤
幕控制函数库。
(http://www.fanqiang.com)
进入【UNIX论坛】
|
|
| 相关文章 |
|
===更多相关=== |
|
|
 |
★ 樊强制作 欢迎分享 ★ |