檔案流之檔案的定位

2021-10-04 10:23:42 字數 1277 閱讀 5935

使用檔案流時,檔案中有乙個指標標誌檔案當前的讀寫位置。讀寫乙個字元後,檔案的位置指標會向後移動到下乙個字元的位置。有時候,程式需要從檔案的不同位置「跳躍」地讀取字元,這時就要用到相關的函式。

檔案指標,即指向檔案的指標。關於利用檔案指標進行檔案讀寫可以看我上篇部落格:

1.rewind()函式

格式:rewind(檔案指標)

如:rewind(fp)

功能:將檔案的位置指標重新定義在檔案的開頭。

示例**:

1 #include 2

intmain()

3

執行結果:

可見i和t的值被兩次寫入到out.txt中。

2.fseek()函式

格式:fseek(檔案指標,位移量,起始點)

如:fseek(fp,4l,1)  //將fp指向檔案的位置指標從當前位置向前移動4個位元組

功能:按一定規則改變檔案的位置指標。

說明: a)位移量表示從起始點向前移動的位元組數,一般要求是long型,如100l。

b)起始點取值,0表示檔案開頭,1表示當前位置,2表示檔案末尾;起始點為2時的位移量一般為負數,表示向後移動。

c)c環境下,一般int型和float型為4位元組,char型為1位元組,double型為8位元組。

示例**:

1 #include 2

intmain()

3

執行結果:

可以看出,輸出363和73.58後,位置指標從當前位置73.58向前4個位元組,即向前乙個整型或浮點型長度,再次讀寫,將8和356.12寫入到out.txt中。

3.feof函式

格式:feof(檔案指標)

如:feof(fp)  //判斷fp指向的檔案的位置指標是否到達檔案末尾

功能:判斷位置指標是否到達檔案末尾,是則返回真(非0),否則為假(0)。

示例:

rewind(fp);

fprintf(feof(fp));

輸出值為0,因為rewind()函式將位置指標重置到開頭了。

同樣地,這幾個函式也可以嵌入到迴圈語句中,因為其運用時要注意的細節較多,使用時一定要小心謹慎。

檔案和流之檔案寫入

在python程式設計當中,無論是文字檔案還是二進位制檔案,其操作流程基本上是一致的,即 首先開啟檔案並建立檔案物件,然後通過該檔案物件對檔案內容進行讀取 寫入 刪除 修改等操作,最後關閉並儲存檔案內容。檔案的寫入 1 建立或開啟檔案物件 python通過內建的 open 方法即可根據指定模式開啟指...

檔案和檔案流

12.1 c 檔案流的基本概念 12.1.1檔案及及分類 1.程式檔案 包括源程式檔案 字尾名.cpp 目標檔案 字尾為.obj 可執行檔案 字尾名.exe 這類檔案包含的是文字和二進位制程式 2.資料檔案 檔案的內容不是程式,而是供程式讀寫的資料。12.1.2 c 檔案流基礎 1.ifstream...

檔案操作之函式呼叫的檔案內容拷貝(非檔案流)

include include include include include include include include define len 30 define buf size 1024 intmain fp2 open dest,o wronly o creat,0755 if fp2 ...