当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [c] 关于linux缓冲输入
帖子发表于 : 2007-12-14 11:06 

注册: 2007-09-14 19:51
帖子: 972
送出感谢: 0 次
接收感谢: 0 次
代码:
#include<stdio.h>
int main()
{
char a;
printf("请输入一个数字");

..................../* 我不会写的代码 */

if(a='1')
printf("你输入的是1");
if(a='2')
printf("你输入的是2");

....................

return 0;
}


例如在上面的程序中,再添加什么代码,就可以只输入1(不加回车),就可以立即打印出“你输入的是1”?
请各位朋友不吝赐教

谢谢你们!!


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-12-16 10:48 

注册: 2007-09-14 19:51
帖子: 972
送出感谢: 0 次
接收感谢: 0 次
谢谢你们


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-12-16 11:20 

注册: 2007-09-14 19:51
帖子: 972
送出感谢: 0 次
接收感谢: 0 次
再顶一下


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-12-16 11:49 

注册: 2007-09-14 19:51
帖子: 972
送出感谢: 0 次
接收感谢: 0 次
终于知道了
google

system("stty raw"); /*使终端驱动处于一次一字符模式*/


system("stty cooked");/*使终端处于一次一行模式*/


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-02-10 12:14 
头像

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
对我有提示。


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-02-14 18:07 

注册: 2008-01-31 16:55
帖子: 99
送出感谢: 0 次
接收感谢: 0 次
楼主的所要做的只是用 tcgetattr()和tcsetattr()函数把 ICANNON 位关掉就可以了.
顺便附带一下,这两个函数包含了很多tty的设置,包括回显之类的. 有些没法处理的 ,比如说控制台的宽度和高度,可以用ioctl获得.

函数和常量名记不清楚了,参考一下man


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-02-18 14:34 
头像

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
也可以参考 curses 库编程.(关于终端的)

#include <curses. h>


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译