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++ fseek()用法及代码示例
- C++ fstream close用法及代码示例
- C++ fstream swap用法及代码示例
- C++ fstream is_open用法及代码示例
- C++ fstream rdbuf用法及代码示例
- C++ fscanf()用法及代码示例
- C++ fstream open用法及代码示例
- C++ fcvt()用法及代码示例
- C++ fwscanf()用法及代码示例
- C++ fmax()用法及代码示例
- C++ fdim()用法及代码示例
- C++ fmin()用法及代码示例
- C++ fetestexcept()用法及代码示例
- C++ forward_list::unique()用法及代码示例
- C++ forward_list::emplace_front()用法及代码示例
- C++ fopen()用法及代码示例
- C++ forward_list::max_size()用法及代码示例
- C++ forward_list::reverse()用法及代码示例
- C++ feupdateenv()用法及代码示例
- C++ forward_list::swap()用法及代码示例
注:本文由纯净天空筛选整理自 C++ fsetpos()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。