LinuxSir.cn,穿越时空的Linuxsir!

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

fd=read(fd, buffer,sizeof(buffer)); 有关的一点问题

[复制链接]
发表于 2003-7-6 15:14:37 | 显示全部楼层 |阅读模式
如果文件大小远大于缓冲区。假设缓冲区大小为50个字节。
而我要以 50 个字节为一单位,读出数据,怎么实现读文件的第二个或第三个 50个字节,(第三个 50 个字节也就是 100~150 个字节)。
发表于 2003-7-6 17:27:48 | 显示全部楼层
lseek(fd, 100, SEEK_SET);
你要是读结构的话还是用fread方便一点。
 楼主| 发表于 2003-7-6 21:32:18 | 显示全部楼层
fread and read
有什么区别吗,我刚发现我用的不一样,还以为以前在学校也用的是read() 呢,看书了,才知道是用的 fread() 难怪定义的fd 不是指针而是 int 型。我是看函数手册就顺便拿来用的,不清楚两者的区别。
发表于 2003-7-6 21:51:05 | 显示全部楼层
read()的文件参数是文件描述符,fread()的文件参数是FILE*指针。fread()比read()要高级,使用上要方便一些。
 楼主| 发表于 2003-7-6 22:00:20 | 显示全部楼层
哦,明白了,谢谢版主兄
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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