_read()函数的指针是怎么个情况?

a271256939 2017-05-04 09:40:37
_read(fd,*buffer,n,)函数读入文件描述符里的数据到buffer里面,这个过程中buffer的指针移动还是fd的文件指针要移动?
...全文
350 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2017-05-05
  • 打赏
  • 举报
回复
fd是文件描述符,这个值是不变的,因为打开一个文件,就是给了一个文件描述符,跟其他文件的描述符不一样,这个是文件系统维护的一张表,fd可以看成标识这个文件的ID(详细的请查阅文件系统)。但是读文件是,对于文件的节点都会维护一个位置,即读取的位置,这个位置会随着读写过程中跟着变化。 buffer是读到的数据放到buffer里,buffer也不会跟着变化,它还是指向其首地址。
a271256939 2017-05-05
  • 打赏
  • 举报
回复
就c语言啊 额x86 按字节读,那放入的时候怎么放入 ?填满了int再往下一int放(4个字节放入一个int中) 还是说一个字节放入到低位再补满(一个字节放入一个int中),
自信男孩 2017-05-05
  • 打赏
  • 举报
回复
引用 5 楼 a271256939 的回复:
引用 4 楼 cfjtaishan 的回复:
引用 3 楼 a271256939 的回复:
如果说buffer是一个int 型(4个字节)指针,而read是按照一个字节一个字节读的那么在buffer里的存储是如何的/?
这个要根据系统是大端还是小端了,比如一次存入4个字节00, 00, 00, 01(16进制),如果是小端系统,那么是该int值是0x10000000,如果是大端系统,那么是0x00000001
我的意思是 读入四个字节放入int 还是读一个字节放入int,int其他位填充 再读下一个字节放入下一个int
read应该是按字节读的吧,你这个函数在什么场景下使用?
a271256939 2017-05-05
  • 打赏
  • 举报
回复
引用 4 楼 cfjtaishan 的回复:
引用 3 楼 a271256939 的回复:
如果说buffer是一个int 型(4个字节)指针,而read是按照一个字节一个字节读的那么在buffer里的存储是如何的/?
这个要根据系统是大端还是小端了,比如一次存入4个字节00, 00, 00, 01(16进制),如果是小端系统,那么是该int值是0x10000000,如果是大端系统,那么是0x00000001
我的意思是 读入四个字节放入int 还是读一个字节放入int,int其他位填充 再读下一个字节放入下一个int
自信男孩 2017-05-05
  • 打赏
  • 举报
回复
引用 3 楼 a271256939 的回复:
如果说buffer是一个int 型(4个字节)指针,而read是按照一个字节一个字节读的那么在buffer里的存储是如何的/?
这个要根据系统是大端还是小端了,比如一次存入4个字节00, 00, 00, 01(16进制),如果是小端系统,那么是该int值是0x10000000,如果是大端系统,那么是0x00000001
a271256939 2017-05-05
  • 打赏
  • 举报
回复
如果说buffer是一个int 型(4个字节)指针,而read是按照一个字节一个字节读的那么在buffer里的存储是如何的/?
ipqtjmqj 2017-05-04
  • 打赏
  • 举报
回复
函数参数都是传值,所以不变。变的是由内核维护的文件的偏移量

70,012

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧