pread() - Unix,Linux系统调用
Tutorials Point


  Unix入门
  Unix Shell编程
  高级Unix
  Unix有用参考
  Unix有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考资料     讨论论坛     关于TP  

pread() - Unix,Linux系统调用


previous next AddThis Social Bookmark Button

广告

名称

pread, pwrite - 在给定偏移量处从文件描述符读取或写入

概要

#define _XOPEN_SOURCE 500 

#include <unistd.h>

ssize_t pread(int fd, void *buf, size_t count, off_t offset);

ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);

描述

pread() 从文件描述符 fd 的偏移量 offset (从文件开头) 读取最多 count 个字节到从 buf 开始的缓冲区中。文件偏移量不变。

pwrite() 将从 buf 开始的缓冲区中最多 count 个字节写入文件描述符 fd 的偏移量 offset 处。文件偏移量不变。

fd 引用的文件必须能够进行查找。

返回值

成功时,返回读取或写入的字节数(对于 pwrite(),零表示未写入任何内容;对于 pread(),零表示文件结尾),出错时返回 -1,此时 errno 将设置为指示错误。

错误

pread() 可能会失败并设置 errnoread(2) 或 lseek(2) 指定的任何错误。pwrite() 可能会失败并设置 errnowrite(2) 或 lseek(2) 指定的任何错误。

符合标准

POSIX.1-2001。

历史

pread() 和 pwrite() 系统调用是在 Linux 2.1.60 版本中添加的;i386 系统调用表中的条目是在 2.1.69 中添加的。libc 支持(包括在没有系统调用的旧内核上的仿真)是在 glibc 2.1 中添加的。

参见



previous next Printer Friendly

广告


  

广告



广告