在头文件中定义int fsetpos(FILE * stream,const fpos_t * pos);

stream根据指向的值设置文件流的文件位置指示符和多字节解析状态(如果有)pos。

除了建立新的解析状态和位置之外,如果设置了该函数,则对该函数的调用将撤销ungetc并清除文件结束状态的影响。

如果发生读取或写入错误,ferror则设置流的错误指示符()。

参数

流-文件流进行修改岗位-指向fpos_t对象的指针,用作文件位置指示符的新值

返回值

0 一旦成功,否则非零值。

注意

在宽流中寻找非终点位置之后,对任何输出函数的下一次调用可能会使文件的其余部分不确定,例如通过输出不同长度的多字节序列。

带有错误检查的fsetpos。

#include #include

int main(void){    /* Prepare an array of f-p values. */

#define SIZE 5

double A[SIZE] = {1.,2.,3.,4.,5.};    /* Write array to a file. */

FILE * fp = fopen("test.bin", "wb");    fwrite(A,sizeof(double),SIZE,fp);    fclose (fp);

/* Read the f-p values into array B. */

double B[SIZE];

fp = fopen("test.bin","rb");

fpos_t pos;    if (fgetpos(fp,&pos) != 0)      /* current position: start of file */    {       perror("fgetpos()");       fprintf(stderr,"fgetpos() failed in file %s at line # %d\n", __FILE__,__LINE__-3);       exit(EXIT_FAILURE);    }

int ret_code = fread(B,sizeof(double),1,fp);   /* read one f-p value */    /* current position: after reading one f-p value */    printf("%.1f\n", B[0]);   /* print one f-p value */

if (fsetpos(fp,&pos) != 0)   /* reset current position to start of file */    {       if (ferror(fp))       {          perror("fsetpos()");          fprintf(stderr,"fsetpos() failed in file %s at line # %d\n", __FILE__,__LINE__-5);          exit(EXIT_FAILURE);       }    }

ret_code = fread(B,sizeof(double),1,fp);   /* reread first f-p value */    printf("%.1f\n", B[0]);                    /* print one f-p value    */    fclose(fp);

return EXIT_SUCCESS; }

输出:

1.01.0

参考

C11标准(ISO / IEC 9899:2011):7.21.9.3 fsetpos函数(p:337)

C99标准(ISO / IEC 9899:1999):7.19.9.3 fsetpos函数(p:303)

C89 / C90标准(ISO / IEC 9899:1990):4.9.9.3 fsetpos函数

c语言fsetpos是什么,fsetpos - [ C语言中文开发手册 ] - 在线原生手册 - php中文网相关推荐

  1. cbrt c语音_isgraph - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义int isgraph(int ch); 检查给定字符是否具有图形表示形式,即它是数字(0123456789),大写字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ),小写字母 ...

  2. c 语言memmove,memmove - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义void * memmove(void * dest,const void * src,size_t count);(1) errno_t memmove_s(void * dest,r ...

  3. php中的lc_time,LC_TIME - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义#define LC_ALL / *实现定义* / #define LC_COLLATE / *实现定义* / #define LC_CTYPE / *实现定义* / #define L ...

  4. c语言 strncat,strncat - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义(1) char * strncat(char * dest,const char * src,size_t count);(直到C99) char * strncat(char * r ...

  5. c语言中mw shl code,cacoshl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float complex       cacoshf( float complex z );(1)(since C99) double complex      cacosh( dou ...

  6. php vprintf,vprintf - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    格式-指向以空字符结尾的字符串的指针,指定如何解释数据.格式字符串由普通的多字节字符(%除外)组成,它们被原样复制到输出流和转换规范中.每个转换规范具有以下格式:介绍%字符(可选)一个或多个标志,用于 ...

  7. c语言L文件,frexpl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float frexpf(float arg,int * exp);(1)(自C99以来) double frexp(double arg,int * exp);(2) long dou ...

  8. c语言isfinite_csqrtf - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float complex csqrtf(float complex z);(1)(自C99以来) double complex   csqrt( double complex z ); ...

  9. php atan2,atan2l - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float       atan2f( float y, float x );(1)(since C99) double      atan2( double y, double x ) ...

最新文章

  1. 简易在线实验室管理系统
  2. MySQL TEXT数据类型的最大长度
  3. Visual Studio 2017 已知问题 Qamp;amp;A
  4. Protocol Buffer 序列化
  5. vue 后端返回文件流下载文件
  6. 计算机专业自我总结1000字,计算机专业自我鉴定范文1000字
  7. 【转载】在.NET环境中实现每日构建--NAnt篇
  8. 理解WebKit和Chromium: Content API和CEF3
  9. .net mvc html5,带有.NET MVC 3 Razor Editor的HTML5占位符
  10. java 主流算法_java常用算法
  11. Visual Basic 概述
  12. 遥感图像裁剪后在ENVI里显示为黑色解决办法
  13. WPE详细教程四 独立外挂制作(1)
  14. 社会人类学类毕业论文文献包含哪些?
  15. 字符编码那些事--彻底理解掌握编码知识
  16. OSPF50个经典问题
  17. Word技巧:如何使用正则表达式高效替换
  18. 在线png转换成jpg、jpg转png、各种转
  19. Android中关于ComponentName的使用
  20. vtx文件有什么用_VTX文件扩展名 - 什么是.vtx以及如何打开? - ReviverSoft

热门文章

  1. bash 脚本中激活conda环境_ubuntu18.10目标检测算法环境部署+开机自启动脚本创建screen下的web服务...
  2. 常用来进行钢结构节点输出的软件是什么_纯干货:钢结构设计入门知识及简易方法(建议收藏)...
  3. java队列_RPC远程调用和消息队列MQ的区别
  4. php yii2.0 读取excel,yii2.0使用excel Gridview读取excel内容
  5. Python基础入门:分支及循环
  6. Python中bytes和str区别详细介绍
  7. Python 字符串与列表去重
  8. python 中文件输入输出及os模块对文件系统的操作
  9. 基于Django的乐观锁与悲观锁解决订单并发问题的一点浅见
  10. pycharm更换源(换源)(镜像源)