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

廣告


  

廣告



廣告