日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

oprn/read/write/close系统函数

發布時間:2023/12/4 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 oprn/read/write/close系统函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??? open系列是 POSIX 定義的,是UNIX系統里的system call,只能用在 POSIX 的操作系統上。使用open系列函數需要"#include <fcntl.h>".

基于文件描述符的輸入輸出函數:
?? open:打開一個文件,并指定訪問該文件的方式,調用成功后返回一個文件描述符。
?? creat:打開一個文件,如果該文件不存在,則創建它,調用成功后返回一個文件描述符。
?? close:關閉文件,進程對文件所加的鎖全都被釋放。
?? read:從文件描述符對應的文件中讀取數據,調用成功后返回讀出的字節數。
?? write:向文件描述符對應的文件中寫入數據,調用成功后返回寫入的字節數。
?? ftruncate:把文件描述符對應的文件縮短到指定的長度,調用成功后返回0。
?? lseek:在文件描述符對應的文件里把文件指針設定到指定的位置,調用成功后返回新指針的位置。
?? fsync:將所有已寫入文件中的數據真正寫到磁盤或其他下層設備上,調用成功后返回0。
?? fstat:返回文件描述符對應的文件的相關信息,把結果保存在struct stat中,調用成功后返回0。
?? fchown:改變與打開文件相關聯的所有者和所有組,調用成功后返回0。
?? fchmod:把文件描述符對應的文件的權限位改為指定的八進制模式,調用成功后返回0。
?? flock:用于向文件描述符對應的文件施加建議性鎖,調用成功后返回0。
?? fcntl:既能施加建議性鎖也能施加強制性鎖,能建立記錄鎖、讀取鎖和寫入鎖,調用成功后返回0。
?? dup:復制文件描述符,返回沒使用的文件描述符中最小的編號。
?? dup2:由用戶指定返回的文件描述符的值,用來重新打開或重定向一個文件描述符。
?? select:同時從多個文件描述符讀取數據或向多個文件描述符寫入數據。
文件描述符的優點:兼容POSIX標準,許多系統調用都依賴于它。
文件描述符的缺點:不能移植到UNIX以外的系統上去,也不直觀。

1)write

#include <unistd.h>

size_t write(int fildes,const void *buf,size_t nbytes);

參數說明:

??? fildes:與文件相對應的文件描述符,可通過調用open函數獲取

??? buf:存放將寫入文件的數據,可以是字符串,也可是其他數據。其中buf是指向字符串的指針

??? nbytes:需寫進文件的字節數

返回值:

??? -1:寫入失敗

??? 0:寫入0個字節

??? x:已寫入x個字節

2)read

#include <unistd.h>

size_t read(int fildes,char *buf,size_t nbytes);

參數說明:

??? fildes:文件描述符

??? buf:存放從文件中讀取的數據

??? nbytes:希望讀取的直接數

返回值:

??? -1:讀取失敗

??? 0:讀取0個字節

??? x:已讀取x個字節

3)open

參數說明:

??? path:文件存放路徑;
??? oflags:打開方式。取值如下:

??? O_RDONLY:以只讀方式打開,O_WRONLY:以只寫方式打開,O_RDWR:以讀寫方式打開

??? oflages參數中還包括下列可選模式的組合(用按位或操作)

??? O_APPEND:把寫入數據追加在文件的末尾

??? O_TRUNC:把文件長度設為0,丟棄已有的內容

??? O_CREAT:如果需要,就按參數mode中給出的訪問模式創建文件

??? O_EXCL:已O_CREAT一起使用,確保調用者創建出文件

4)close
#include <unistd.h>

int close(int fildes);

參數:

fildes:文件描述符

返回:

success:0

fail:-1

?

總結

以上是生活随笔為你收集整理的oprn/read/write/close系统函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。