当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。