C語言 fseek()函數(shù)
隨機(jī)讀寫要求讀寫完本位置的數(shù)據(jù)后,并不一定順次讀寫下一個數(shù)據(jù),而是可將文件位置指針移動到文件內(nèi)部的任何位置。fseek()函數(shù)即可實現(xiàn)將文件指針移動到所需位置的功能。
fseek()函數(shù)的原型為:
int fseek(flle *fp,long offset,int origin)
fseek()函數(shù)的功能是把fp所指向文件的讀寫位置指針移動到指定的位置,若fseek()函數(shù)調(diào)用成功則返回0,否則返回一個非負(fù)數(shù)。
fseek()函數(shù)的一般調(diào)用形式為:
fseek(fp,Offset,origin)
其中:
?fp:文件指針。
?origin:指明以什么地方為基準(zhǔn)進(jìn)行指針移動。起點位置有文件的開頭、文件指針當(dāng)前位置和文件尾,如表所示。
起始點 | 表示符號 | 數(shù)字表示 |
文件開始 | SEEK_SET | 0 |
當(dāng)前位置 | SEEK_CUR | 1 |
文件尾 | SEEK_END | 2 |
offset:位移量,以origin為基準(zhǔn),指針向前或向后移動的字節(jié)數(shù)。位移量為正,指針向后移動;位移量為負(fù),指針向前移動。當(dāng)用常量表示位移量時,要求加后綴“L”。例如:
fseek(fp,50L,0);
把文件位置指針移動到離文件開頭50字節(jié)處。
fseek(fp,50L,1);
把文件位置指針移動到離文件當(dāng)前位置50字節(jié)處。
fseek(fp,-50L,2);
把文件位置指針移動到離文件尾50字節(jié)處。
點擊加載更多評論>>