用ps網(wǎng)站首頁(yè)怎么做長(zhǎng)沙百度開(kāi)戶
一、文件IO
??文件 IO 是 Linux 系統(tǒng)提供的接口,針對(duì)文件和磁盤(pán)進(jìn)行操作,不帶緩存機(jī)制;標(biāo)準(zhǔn)IO是C 語(yǔ)言函數(shù)庫(kù)里的標(biāo)準(zhǔn) I/O 模型,在 stdio.h 中定義,通過(guò)緩沖區(qū)操作文件,帶緩存機(jī)制。
??標(biāo)準(zhǔn) IO 和文件 IO 常用 API 如下:
??文件 IO 是直接調(diào)用內(nèi)核提供的系統(tǒng)調(diào)用函數(shù),頭文件是 unistd.h,標(biāo)準(zhǔn)IO 是間接調(diào)用系統(tǒng)調(diào)用函數(shù),頭文件是 stdio.h,文件 IO 是依賴于 Linux 操作系統(tǒng)的,標(biāo)準(zhǔn) IO 是不依賴操作系統(tǒng)的,所以在任何的操作系統(tǒng)下,使用標(biāo)準(zhǔn) IO,也就是 C 庫(kù)函數(shù)操作文件的方法都是相同的。
1.1、open()
??參數(shù) flags 可選標(biāo)志:
??O_CREAT 要打開(kāi)的文件名不存在時(shí)自動(dòng)創(chuàng)建改文件。
??O_EXCL 要和 O_CREAT 一起使用才能生效,如果文件存在則 open()調(diào)用失敗。
??O_RDONLY 只讀模式打開(kāi)文件。
??O_WRONLY 只寫(xiě)模式打開(kāi)文件。
??O_RDWR 可讀可寫(xiě)模式打開(kāi)文件。
??O_APPEND 以追加模式打開(kāi)文件。
??O_NONBLOCK 以非阻塞模式打開(kāi)。
1.2、close()
1.3、read()
1.4、write()
1.5、lseek()
??所有打開(kāi)的文件都有一個(gè)當(dāng)前文件偏移量(current file offset),以下簡(jiǎn)稱為cfo。cfo 通常是一個(gè)非負(fù)整數(shù),用于表明文件開(kāi)始處到文件當(dāng)前位置的字節(jié)數(shù)。讀寫(xiě)操作通常開(kāi)始于cfo,并且使cfo 增大,增量為讀寫(xiě)的字節(jié)數(shù)。文件被打開(kāi)時(shí),cfo 會(huì)被初始化為 0,除非使用了 O_APPEND 。使用lseek 函數(shù)可以改變文件的 cfo 。