函數(shù)名: fseek
頭文件:<stdio.h>
函數(shù)原型: int fseek(FILE *stream, long offset, int fromwhere);
功 能: 重定位流上的文件指針 在流上重新定位文件結(jié)構(gòu)的位置。fseek設(shè)置與流stream相聯(lián)系的文件指針到新的位置,新位置與fromwhere給定的文件位置的距離為offset字節(jié)。
參 數(shù): FILE *stream 要重定位的流
long offset 重定位的偏移量
int fromwhere 重定位的位置
返回值: 成功 返回0 ,出錯或失敗 返回非0值。
補(bǔ) 充: fromwhere的取值必須是0,1或2中的一個分別代表在stdio.h中定義的三個符號常量:
0是SEEK_SET,是文件開始位置;
1是SEEK_CUR,是當(dāng)前的指針位置;
2時SEEK_END,是文件末尾。
調(diào)用了fseek之后,在更新的文件位置上,下一個操作可以是輸入;也可以是輸出。
程序例: 打開文件,將字符串輸入到文件流stream中,并重定位到文件的開頭,輸出文件的長度
#include<stdio.h> long filesize(FILE *stream); int main(void){ FILE *stream = fopen("myfile.txt", "w+"); fprintf(stream, "www.sztianhecheng.cn"); fseek(stream, 0, SEEK_END); printf("Filesize of myfile.txt is %ld bytes\n", ftell(stream)); fclose(stream); return 0; }
運(yùn)行結(jié)果
Filesize of myfile.txt is 14 bytes
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:
一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程