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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux open函数使用方法记录

發布時間:2023/12/10 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux open函数使用方法记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、作用

linux一切皆文件,那么如何打開文件,靠的就是open函數。打開和創建文件,對于文件來說存在文件則打開,不存在則創建;對于設備,可以打開相應設備(串口,SPI,I2C等)。

2、函數原型

//包含頭文件 #include?<fcntl.h> int open(const char *pathname, int oflag, ... ); 返回值:成功則返回文件描述符,否則返回-1
  • 第一個參數pathname :打開/創建文件的具體路徑名,如"/home/pro/my.txt" , "/dev/ttyS0"
  • 第二個參數oflag :open file flag,用于指定打開/創建模式
  • 第三個參數(...):僅當創建新文件時才使用,用于指定文件的訪問權限位(access permission bits)

3、模式

  • O_RDONLY? ? ? 只讀模式
  • O_WRONLY?????只寫模式
  • O_RDWR? ? ? ? ?讀寫模式

? ?其他常量FLAG:

  • O_APPEND? ? ? 末尾追加,每次寫操作都寫入文件的末尾
  • O_CREAT? ? ? ? ?創建,如果指定文件不存在,則創建這個文件
  • O_EXCL? ? ? ? ? ? 是否存在,如果要創建的文件已存在,則返回 -1,并且修改 errno 的值
  • O_TRUNC? ? ? ? ?如果文件存在,并且以只寫/讀寫方式打開,則清空文件全部內容
  • O_NOCTTY? ? ? ?如果路徑名指向終端設備,不要把這個設備用作控制終端。
  • O_NONBLOCK??如果路徑名指向 FIFO/塊文件/字符文件,則把文件的打開和后繼 I/O設置為非阻塞模式

? ? 用于同步輸入輸出的FLAG:

  • O_DSYNC???????等待物理 I/O 結束后再 write。在不影響讀取新寫入的數據的前提下,不等待文件屬性更新。
  • O_RSYNC???????read 等待所有寫入同一區域的寫操作完成后再進行
  • O_SYNC? ? ? ? ? 等待物理 I/O 結束后再 write,包括更新文件屬性的 I/O

總結

以上是生活随笔為你收集整理的Linux open函数使用方法记录的全部內容,希望文章能夠幫你解決所遇到的問題。

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