LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 756|回复: 10

如何清空缓冲区buf。

[复制链接]
发表于 2003-9-30 20:48:09 | 显示全部楼层 |阅读模式
buf定义:char buf[8192];
如何清空??
发表于 2003-9-30 20:57:26 | 显示全部楼层
清空什么意思?
定义时可以这样:
char buf[8192] = {0}

其它情况:
for (i=0; i < 8192; i++)
buf = 0;
 楼主| 发表于 2003-9-30 20:59:13 | 显示全部楼层
我的意思是buf[]先有了内容,现在要重新写数据到buf里,
但是以前的内容还有,该怎么彻底地重写数据。
发表于 2003-9-30 21:05:41 | 显示全部楼层
覆盖就好了,然后在新数据的尾部加个 '\0', 表示数据结束。
 楼主| 发表于 2003-9-30 21:07:20 | 显示全部楼层
但是好像现在写的数据还没有前面的多,
还有一些尾巴流出来了。
发表于 2003-9-30 21:11:18 | 显示全部楼层
写什么数据呀?
如果是字符串,'\0'就是这个作用。
 楼主| 发表于 2003-9-30 21:13:45 | 显示全部楼层
我是这么个程序,socket的服务器。
先把request数据报读到buf中,然后再将判断后的数据写回到
buf中,在传回到客户端。
你能给我说说write这个函数吗?
发表于 2003-9-30 21:16:15 | 显示全部楼层
man 2 write
应该比我解释的清楚。

为了不增加长度,就接这里了。
上面是什么问题?
能再告诉我一次吗?
 楼主| 发表于 2003-9-30 21:24:12 | 显示全部楼层
那前面那个问题,能再帮帮我吗?
发表于 2003-10-1 11:43:30 | 显示全部楼层
memset buf 0 sizeof buf
如果buf是指针的话
最后一个应该是BUF的大小不能使用sizeof
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表