從這裡開始。用的是apue第三版。從第三版65頁開始:
在修改檔案描述符標誌和檔案狀態標誌時必須謹慎,先要取得現有的標誌值,然後根據需要修改它,最後設定新值。
程式3-5:對乙個檔案描述符設定乙個或者多個檔案狀態標誌函式。
#include "apue.h"
#include #include "error.c"
void set_f1(int fd, int flags)
fsync和fdatasync在我們需要時更新檔案內容,o_sync標誌則在我們每次寫至檔案時更新檔案內容。
ioctl函式是i/o操作的雜物箱,終端i/o是ioctl函式最大使用方面。
#include
#include
#include
int ioctl(int filedes, int request, ...) //出錯返回-1,成功返回其他值。
這個函式主要用於裝置的操作。
這個目錄中的檔案時用數字來表示的。如1 2 3 等。
開啟檔案/dev/fd/n等效於複製描述符n(假設描述符n是開啟的)。
用法:fd = open("/dev/fd/0", mode) 但是大部分系統忽略它所指定的mode。
等價於 fd = dup(0); 所以描述符0和fd共享同乙個檔案表項。
第三章 檔案I O
include int open const char pathname,int oflag,mode t mode 成功返回檔案描述符,出錯返回 1 oflag 可多選 o rdonly 唯讀 o wronly 只寫 o rdwr 讀 寫 mode o creat 檔案不存在則建立 o excl ...
第三章 檔案I O
include include off t lseek int fileds,off t offset,int whence 成功返回新檔案的位移量,失敗返回 1 返回值可能為負數,所有測試它的返回值時應該確定是否為 1而不是是否為負數。stdin 屬於標準庫處理的輸入流,其宣告為 file 型的,...
第三章 檔案I O
1.檔案描述符 unix 系統 shell 把檔案描述符 0 與程序的標準輸入關聯,檔案描述符 1 與標準輸出關聯,檔案描述符 2 與標準錯誤關聯 上述 0 1 2 使用時應該替換為符號常量 stdin fileno stdout fileno 和 stderr fileno 檔案描述符的變化范文是...