标题:如何存取键盘缓冲区?
取消只看楼主
zhoudavid
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-12-15
 问题点数:0 回复次数:4 
如何存取键盘缓冲区?

请大家看下面的程序片断:
#include<stdio.h>
viod main()
{
int i;
while(getchar()!=10)
i++; /*输入一段字符串,通过指针向前移动得到字符个数*/
......


得到的字符个数可以用来为输入的字符串开辟一个动态存储区,但是要想把字符串放进这个存储区,就需要让已经到达最后一个字符的指针返回到第一个地址。

我查了半天,只知道一个ungetc()可以使指针返回一个元素的地址,但还是没有办法回到字符串的首地址.............

求教达人,再拜!

[此贴子已经被knocker于2005-12-22 19:41:30编辑过]

搜索更多相关主题的帖子: 缓冲区 字符 键盘 存取 指针 
2005-12-20 22:26
zhoudavid
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-12-15
得分:0 

再输入流中

2005-12-21 22:55
zhoudavid
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-12-15
得分:0 

可是,一楼的,指针是缓冲区中的指针呀,不是内存中的,我还没有把数据移到内存中呢。
缓冲区中的指针我不知道怎么控制呀!
再拜达人!

2005-12-22 10:31
zhoudavid
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-12-15
得分:0 

可能还有误解,举个例子:
我输入abcde,现在它在缓冲区里了。然后让指针从a到e计数(此时,指针指到了e),再通过malloc为abcde在内存中开辟一段动态地址,但此时地址中无内容,要将abcde从缓冲区移到这一段动态地址中,我个人观点,只有将指针从e移到a,将abcde移动到内存中了。

可是划线部分我就不清楚了,只知道有个什么ungetc函数。。。。。

再拜达人!

2005-12-22 12:29
zhoudavid
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-12-15
得分:0 
首先,

我的目的:
我输入abcde,现在它在缓冲区里了。然后让指针从a到e计数(此时,指针指到了e),再通过malloc为abcde在内存中开辟一段动态地址,但此时地址中无内容,要将abcde从缓冲区移到这一段动态地址中,我个人观点,只有将指针从e移到a,将abcde移动到内存中了。

至于你说的buff_head 和 buff_tail,我不懂,但是貌似可能实现的。
怎么用啊?

再拜达人!
2005-12-22 15:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-39161-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.173547 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved