檔案的IO操作之檔案指標

2021-10-08 12:13:56 字數 851 閱讀 9491

這裡面說的檔案指標也可以理解為檔案內部記錄讀取或者寫入的當前位置,不然程式如何知道下一次該從檔案的什麼位置開始讀取或者寫入呢?

在讀寫檔案的時候,每讀取或者寫入乙個位元組,磁碟中的檔案指標就會向後移動乙個位元組。可以通過控制指標的位置,以便在我們需要的位置進行讀寫檔案。

檔案流提供以下成員函式來讀取或配置檔案指標:

tellg()      返回讀取檔案指標的當前位置

tellp()      返回寫入檔案指標的當前位置

seekg(指標偏移量)      將讀取檔案指標移到指定位置

seekg(指標偏移量,參照位置)      將讀取檔案指標移到指定位置

seekp(指標偏移量)      將寫入檔案指標移到指定位置

seekp(指標偏移量,參照位置)  將寫入檔案指標移到指定位置

這些成員函式名和引數,容易混淆,下面就簡單解釋一下:

備註:以上函式中的最後乙個字母不是g就是p,代表什麼意思呢?其中,g代表get,表示讀取;p代表put,表示寫入。

另外,函式引數中的「檔案中的位置」和「指標偏移量」為 long整型,以位元組為單位。「參照位置」是乙個有以下值的列舉:

ios::beg      檔案開頭計算偏移量(beg是begin的縮寫)

ios::cur       檔案當前位置計算偏移量(cur是current的縮寫)

ios::end      檔案結尾計算偏移量

其中,函式seekg(指標偏移量) 和 seekp(指標偏移量),預設從檔案開頭計算偏移量

#include #include using namespace std;  

int main()  

檔案IO操作

在對乙個檔案或者裝置進行讀寫之前,都需要先開啟,以獲得該檔案或者裝置的操作指標,也就是檔案描述符。有了檔案描述符,後續就可以進行讀取,修改操作了。標頭檔案函式宣告 int open const char pathname,int flags,mode t mode 返回值成功 返回檔案描述符 失敗 ...

檔案操作IO

dup oldfd 和dup2 oldfd,newfd 這兩個函式我們可以用來複製檔案描述符。1 其中oldfd和newfd分別是複製前檔案描述符和複製後的檔案描述符。2 這兩個函式的呼叫都將複製檔案描述符oldfd,且他們的返回值都為新的檔案描述符。3 不同點是dup 的返回值是最小的未用檔案描述...

檔案IO操作讀寫檔案

寫操作對應的有 put write等。寫操作的型別 ascii碼型別的可知字串 put put只能寫入一兩個字元,多了寫不了 include using namespace std intmain int args,char ar 二進位制型別寫檔案 write include using name...