当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 27 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 求一个字符输入的c语言函数. [已解决]
帖子发表于 : 2008-02-03 13:53 
头像

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
想学编程,从c入手.

getchar()是用作字符输入的.但它有一个不便之处,就是输入单个字符之后须打回车.

有没有那样一个函数, 输入单个字符无须打回车的?


最后由 qlhn 编辑于 2008-02-12 13:45,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-02-03 15:17 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
man getch


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-02-04 12:13 
头像

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
man getch 回答 no entry.

用getch() 替换 getchar(), 编译器报告
/tmp/ccI6B3we.o: In function `main':more6.c:(.text+0x1d):对‘getch’未定义的引用
collect2: ld 返回 1


难道是缺少头文件? 需要什么样的头文件?


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-02-04 12:39 
头像

注册: 2005-11-06 1:51
帖子: 1795
地址: 七彩云世界
送出感谢: 0 次
接收感谢: 0 次
char c;
scanf("%c", &c);

这样可以么?


_________________
佛出寺,求索真世界 For_Truth:Free_Open_Share
OPEN GPG KEY:03D18D95


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

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
还是不行, 需要打回车的.

源程序如下:

#include <stdio.h>
//#include <conio.h>
#include <ctype.h>

int main(int ac,char *av[])
{
char c;

//c=getch();
scanf("c%",&c);
if (c==' ') printf("this is a space charactor\n");
if (c=='q') printf("it is q\n");
return (0);
}

只是想测试一下有没有不用打回车的字符输入函数

象命令 more 或者 man 那样的.


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-02-04 13:00 
头像

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
再问一句, 要想显示
man getch 需要安什么包?


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

注册: 2005-06-19 23:33
帖子: 106
送出感谢: 0 次
接收感谢: 0 次
curses.h


_________________
Ubuntu Karmic
acer 5595 : core2 duo T7200;2*1024M DDR2-667 ;intel 965pm;ati mobility readon X1600

贫贱不能移,富贵不能淫,威武不能屈


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-02-05 12:48 
头像

注册: 2006-12-02 12:25
帖子: 689
送出感谢: 0 次
接收感谢: 0 次
看一看关于tty的源码,或者参考这本书《Unix/Linux编程实践教程》,里面有说明。


_________________
Titainium


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-02-05 13:21 
头像

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
gcc 说找不到 curses.h


我现在看的就是这本《Unix/Linux编程实践教程》, 好吧, 我会去翻翻看的.


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-02-05 13:36 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
getch()的作用是从键盘接收一个字符,而且并不把这个字符显示出来,就是说,你按了一个键后它并不在屏幕上显示你按的什么,而继续运行后面的代码,所以我们在C++中可以用它来实现“按任意键继续”的效果,即程序中遇到getch();这行语句,它就会把程序暂停下来,等你按任意键,它接收了这个字符键后再继续执行后面的代码。

lz 都不google的。随便找都找得到的哦。

安装manpages-dev
就可以man getch了。


_________________
● 鸣学


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-02-05 15:02 
头像

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
在新立得里面查了,已经装了manpages-dev,
并且还把 glibc-doc 也装上了,
但遗憾得很 man getch 还报告 no entry.

我在书里面也查得 getche() 能够显示输入的字符, 只是在man 里面同样不行.

看来只能烦劳哪位替我查查这两个函数需要什么头文件?


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

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
傻了. 怎么没想到google ?真是钻了牛角尖了.

赶快去看下.


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-02-06 13:02 
头像

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
网上说还是 curses.h 头文件。

既然 gcc 说找不到,看来还是有什么包没安。


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-02-06 13:15 
头像

注册: 2006-12-02 12:25
帖子: 689
送出感谢: 0 次
接收感谢: 0 次
找找看有没有这个头文件


_________________
Titainium


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

注册: 2006-08-25 10:37
帖子: 736
送出感谢: 0 次
接收感谢: 0 次
过节在奶奶家呆着。等过两天回自己家再说吧。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 27 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

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


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

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

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