open函數用來打開一個設備,他返回的是一個整型變量,如果這個值等於-1,說明打開文件出現錯誤,如果為大於0的值
參考格式 if(fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY))<0 {printf("cannot open"};
int open(const char *pathname, int oflag, …/*, mode_t mode * / ) ;
打開的操作類型有如下幾種
1) O_RDONLY 只讀打開
2) O_WRONLY 只寫打開
3) O_RDWR 讀、寫打開
4) O_APPEND 每次寫時都加到文件的尾端
5) O_CREAT 若此文件不存在則創建它。使用此選擇項時,需同時說明第三個參數mode,用其說明該新文件的存取許可權位。
6) O_EXCL 如果同時指定了O_CREAT,而文件已經存在,則出錯。這可測試一個文件是否存在,如果不存在則創建此文件成為一個原子操作。
7) O_TRUNC 如果此文件存在,而且為只讀或只寫成功打開,則將其長度截短為0。
8) O_NOCTTY 如果p a t h n a m e指的是終端設備,則不將此設備分配作為此進程的控制終端。
9) O_NONBLOCK 如果p a t h n a m e指的是一個F I F O、一個塊特殊文件或一個字符特殊文件,則此選擇項為此文件的本次打開操作和后續的I / O操作設置非阻塞方式。
10)O_SYNC 使每次w r i t e都等到物理I / O操作完成。
這些控制字都是通過“或”符號分開(|)