C語言檔案的隨機讀寫

2021-07-24 22:46:01 字數 971 閱讀 4223

檔案的隨機讀寫

實現隨機檔案的讀寫的關鍵是要按要求移動位置指標,這稱為檔案的定位

檔案定位函式 rewind 和 fseek

移動檔案內部位置指標的函式主要有 rewind() 和 fseek()

rewind()用來將位置指標移動到檔案的開頭,前面以多次使用過, 他的原型為:

void rewind(file *fp);

fseek()用來將位置指標指到任意的位置,他的原型為:

int fseek(file *fp, long offset, int origin); 檔案指標, 偏移量, 起始位置

起始點        常量名         常量值

檔案開頭  seek_set     0

檔案位置  seek_cup    1

檔案末尾  seek_end     2

檔案的隨機讀寫

在移動檔案指標之後, 就可以用前面介紹的任何一種讀寫函式進行讀寫

#include #include #define n 3

struct student

boys[n], boy, *pboys;

int main(void)

else

fwrite(boys, sizeof(struct student), n, fp);

fseek(fp, sizeof(struct student), seek_set);

fread(&boy, sizeof(struct student), 1, fp);

printf("%s %d %d %f\n", boy.name, boy.number, boy.age, boy.score);

fclose(fp);

} return 0;

}

結果:

C語言之隨機讀寫檔案

一 獲取位置指示器 二 初始化位置指示器 將位置指示器初始化後,後續的檔案讀寫操作與所選檔案讀寫型別一致 檔案讀寫型別請看 c語言之檔案操作 三 設定位置指示器 引數 含義stream 該引數是乙個file物件的指標,指定乙個待操作的檔案流 offset 指定從whence引數的位置起偏移多少個位元...

C語言檔案學習 感受檔案順序(隨機)讀寫速度

功能 1 每次讀取檔案前清除快取 2 分別計算一次寫乙個g檔案 分多次寫乙個g檔案 一次讀取乙個g檔案 逆序讀取檔案 多次從不同起點讀取檔案的時間 如下 include include include include include define n 1024 1024 1024 define m ...

檔案的隨機讀寫

檔案的隨機讀寫也就是說檔案指標可以隨意移動。檔案的操作方式 順序讀寫 檔案指標只能從頭移動到尾。隨機讀寫 檔案指標可以隨意移動,根據需要。上面的兩種檔案讀寫方式不論是ascii檔案還是二進位制檔案都是可以的。檔案指標 在磁碟檔案操作中有乙個檔案指標,用來知名當前應進行讀寫的位置,沒有具體變數。檔案流...