社区
C语言
帖子详情
buf是什么?有什么作用?
fengwen_xxx
2007-11-25 03:16:39
#define BUFSIZ 100 //buf 缓冲区
char buf[BUFSIZ];
int bufp=0;
int getch(void)
{
return (bufp>0)?buf[--bufp]:getchar();
}
void ungetch(int c)
{
if(bufp>=BUFSIZ)
printf("ungetch:too many characters\n");
else
buf[bufp++]=c;
}
调用这个函数,数据如何传递?
...全文
2644
5
打赏
收藏
buf是什么?有什么作用?
#define BUFSIZ 100 //buf 缓冲区 char buf[BUFSIZ]; int bufp=0; int getch(void) { return (bufp>0)?buf[--bufp]:getchar(); } void ungetch(int c) { if(bufp>=BUFSIZ) printf("ungetch:too many characters\n"); else buf[bufp++]=c; } 调用这个函数,数据如何传递?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fengwen_xxx
2007-11-30
打赏
举报
回复
我还是知道getchar()的,但buf怎么会从键盘读入数据呢?
PcrazyC
2007-11-29
打赏
举报
回复
getchar();
这个函数是从键盘中读入
fengwen_xxx
2007-11-29
打赏
举报
回复
谢谢!
不过我自己找到了答案,一个更好的答案。
不过还没明白为什么会从键盘中读入。
羽中漫步
2007-11-25
打赏
举报
回复
buf模拟了一个栈,
getch相当于从栈顶取出一个字符,如果栈为空了,则从键盘读入一个字符.
ungetch相当于,把指定的一个字符存入buf,
buf[bufp++]=(char)c; 这样才标准.否则编译应该过不去.
PcrazyC
2007-11-25
打赏
举报
回复
BUF是一个数组,这好像是在模拟一个缓存区,如果缓存区中有数据,GETCH()就会直接读取,如果没有,就从标准输入设备输入
如果缓存区已满,就会提示"ungetch:too many characters",缓存区已满,无法输入,否则输入到缓存区
BUF
在c语言中的
作用
,C语言如何执行
buf
中的代码
缓冲区溢出攻击已经存在了很长时间了。它仍然存在于今天,部分原因是程序员在编写代码时不小心。我所说的“部分”原因是因为有时编写好的代码可以利用缓冲区溢出攻击,因为这也取决于攻击者的奉献精神和智能级别。方法/步骤我们至少可以做的是避免编写不好的代码,从而有机会甚至脚本小孩攻击你的程序并利用它在这个缓冲区溢出教程中,我们将讨论以下的基础知识:什么是缓冲区溢出?如何发生缓冲区溢出?如何发生缓冲区溢出攻击?...
BUF
在c语言中的
作用
,在C语言中使用gets(
buf
);有警告是怎么回事?
warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration]gets(
buf
);//获取用户输入的字符串,存放到
buf
中^/tmp/ccnxjoDy.o:在函数‘main’中:tcpclient.c:(.text+0x149): 警告: the `gets' function is danger...
paddle.reader.shuffle()中
buf
_size的
作用
paddle.reader.shuffle()中
buf
_size的单位是什么?Byte还是Word? 官网上给出的说法截图如下,并没说明
buf
_size的单位。 为了搞搞清楚,写了几行程序测试一下。 第一遍运行,数据顺序未乱。 顺序还是未乱。猜测
buf
_size=1表示缓冲区只能存下一行数据或者说是一条记录。一条一条读,顺序乱不了。
buf
_size=2,每次可以...
Redis持久化方式有哪些?有什么区别?
redis持久化方式有哪些?有什么区别?RDB:AOF:1.当AOF持久化处于激活状态,服务器执行完写命令之后,写命令将会被追加append到aof_
buf
缓冲区的末尾2.在服务器每结束一个事件循环之前,将会调用flushAppendOnlyFile函数决定是否要将aof_
buf
的内容保存到AOF文件中,可以通过配置appendfsync来决定。配置如下: redis持久化方案分为RDB和AOF两种。 RDB: RDB持久化可以手动执行也可以根据配置定期执行,它的
作用
是将某个时间点上的数据库状态保存到RDB
DMA_
BUF
考虑这样一种场景,摄像头采集的视频数据需要送到GPU中进行编码、显示。负责数据采集和编码的模块是Linux下不同的驱动设备,将采集设备中的数据送到编码设备中 需要一种方法。最简单的方法可能就是进行一次内存拷贝,但是我们这里需要寻求一种免拷贝的通用方法。dma_
buf
是内核中一个独立的子系统,可以让不同设备、子系统之间进行内存共享的统一机制。 DMA_
BUF
框架下主要有两个角色对象,一个是expo...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章