C庫函數(shù) int fsetpos(FILE *stream, const fpos_t *pos) 設(shè)置給定的位置給定流的文件位置。參數(shù)pos 是由函數(shù)fgetpos 給定的位置。
以下是fsetpos()函數(shù)的聲明。
int fsetpos(FILE *stream, const fpos_t *pos)
stream -- 這是一個文件對象的標(biāo)識流的指針。
pos -- 這個指針到一個為 fpos_t 對象,它包含一個位置上獲得fgetpos。
這個函數(shù)返回零值,如果成功,否則返回一個非零值,并設(shè)置全局變量errno為正值,這可以解釋同perrno。
下面的例子顯示fsetpos()函數(shù)的用法。
#include <stdio.h> int main () { FILE *fp; fpos_t position; fp = fopen("file.txt","w+"); fgetpos(fp, &position); fputs("Hello, World!", fp); fsetpos(fp, &position); fputs("This is going to override previous content", fp); fclose(fp); return(0); }
讓我們編譯和運(yùn)行上面的程序,這將創(chuàng)建一個文件file.txt,這將有以下內(nèi)容。首先,我們得到的初始位置的文件使用 fgetpos()函數(shù),然后我們寫入 Hello,World!在該文件中,但后來我們用 fsetpos() 函數(shù)復(fù)位寫指針在該文件,然后開始寫下列內(nèi)容的文件:
This is going to override previous content