1、計算機為每個檔案保留乙個整數,這個整數表示下一次檔案讀寫操作開始的位置(所以每次讀取檔案讀到的是不一樣的)
2、這個位置一定在兩個相鄰位元組之間
3、這個整數的數值就是檔案頭到這個位置之間包含的位元組個數
4、這個整數叫做檔案的位置指標
5、每當從檔案裡讀n個位元組或檔案裡寫入n個位元組之後位置指標也會向後移動n個位元組
6、fseek函式可以獲得位置指標的數值
函式的引數是檔案指標,返回值是位置整數7、rewind函式可以把位置指標調整到位置開頭
8、fseek函式可以把位置指標調整到檔案任意位置
fseek函式裡需要提供乙個基準位置和目標位置到基準位置間的距離,計算機根據他們計算出目標位置9、如果目標位置在基準位置後面就用非負數作為距離seek_set 0 把檔案頭作為基準位置
seek_cur 1 把當前位置作為基準位置
seek_end 2 把檔案尾作為基準位置
如果目標位置在基準位置後面就用負數作為距離
10、距離的絕對值就算是目標位置和基準位置之間包含的位元組數
練習:
/*
* 檔案位置指標移位
* 編寫程式從person,,bin中獲得所有人id顯示在螢幕
* 只能獲得id
* */
#include
typedef
struct person;
int main()
}fclose(p_file);
p_file = null;
}return
0;}
檔案指標與檔案位置指標,檔案位置指標相關的庫函式
1 檔案指標 檔案指標是指向乙個檔案的指標,確切的是存放了用檔案這個結構體所定義的物件的起始位址,檔案指標的移動是指在檔案之間來移動,比如 file fp fp fopen programe test.txt a fp就表示檔案指標。問題 檔案指標能不能在檔案之間來回移動?如果能的話,需要先釋放檔案...
043 C 檔案位置指標
include using namespace std istream 和 ostream 都提供了用於重新定位檔案位置指標的成員函式。這些成員函式包括關於 istream 的 seekg seek get 和關於 ostream 的 seekp seek put seekg 和 seekp 的引數...
C語言指標 指標與檔案
檔案在c語言裡被定義成了結構體,這個結構體包含了檔案的一些資訊 file fptr 關於file這個結構體定義在stdio.h檔案中,這個結構體定義如下 struct iobuf typedef struct iobuf file 在c語言中,檔案的操作都是通過庫來完成的,最基本的就是開啟檔案和關閉...