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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。