當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


C++ fsetpos()用法及代碼示例

C++ 中的fsetpos() 函數將與流關聯的文件指針設置到給定位置。

fsetpos()原型

int fsetpos(FILE* stream, const fpos_t* pos);

fsetpos() 函數接受一個文件流和一個指向 fpos_t 對象的指針,該對象是從對 fgetpos() 的調用中獲得的,作為其參數。

  • 調用fsetpos() 函數會取消ungetc 的效果並清除文件結束狀態(如果已設置)。
  • 如果出現任何讀取或寫入錯誤,則會設置錯誤指示符,即流的ferror

它在<cstdio> 頭文件中定義。

參數:

  • stream :要設置位置的文件流。
  • pos :從先前調用 fgetpos 獲得的位置值,指示當時文件指針的位置。

返回:

成功時,fsetpos() 函數返回零,否則返回非零。

示例:fsetpos() 函數的工作原理

#include <cstdio>

int main()
{
    FILE *fp;
    fpos_t pos;
    int c;
    
    fp = fopen("myfile.txt","w+");
    
    fputs("What a boring day!\n",fp);
    fgetpos(fp, &pos);
    fputs("The weather is bad",fp);
    
    fsetpos(fp, &pos);
    /*  Replaces the second line by new string  */
    fputs("It is raining badly.",fp);
    rewind(fp);
    
    while(!feof(fp))
    {
        c = getc(fp);
        putchar(c);
    }
    
    fclose(fp);
    return 0;
}

運行程序時,輸出將是:

What a boring day!
It is raining badly.

相關用法


注:本文由純淨天空篩選整理自 C++ fsetpos()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。