fsetpos函数
概要:
#include <stdio.h> int fsetpos(FILE *stream, const fpos_t *pos);
描述:
该函数根据参数pos指向对象的值设置mbstate_t对象(如果存在。),并为参数stream指向的流设置文件位置指示符(file position indicator),参数pos指向对象的值通过先前对相同文件调用fgetpos函数获取。如果发生读写错误,将为参数stream指向的流设置错误指示符(error indicator),函数调用失败。
成功调用该函数将消除ungetc函数对流的影响,清除流文件末尾指示符,建立新的解析状态和位置。成功调用该函数后,下一步对更新流的操作可以是输入操作,也可以是输出操作。
参数:
FILE *stream
指向一个打开的流的指针。
const fpos_t *pos
指向fpos_t类型对象的指针,其指向对象值通过先前调用fgetpos函数获取。
返回值:
如果调用成功,函数返回0;如果调用失败,函数返回一个非0值,并将一个实现定义的正值存入errno。
范例:
|
|
结果:
打开一个名为gch.txt的文件,在第一个空格后写入China。
注:根据ISO/IEC 9899:2018标准第7.21.5.3 The fopen function节,当模式参数含有字符+时,可以在相关联的流上执行输入和输出操作。在没有调用fflush函数或者文件定位函数(例如:fseek、fsetpos、rewind函数。)的情况下,输出操作后不能立即执行输入操作;在没有调用文件定位函数的情况下,输入操作后不能立即执行输出操作,除非输入操作到达文件末尾(end-of-file)。
相关内容:
fpos_t | 记录文件中位置所需的所有信息的对象类型。 |
fgetpos | 获取流位置和解析状态当前值的函数。 |