c语言fsetpos是什么,fsetpos - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在头文件中定义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中文网相关推荐
- cbrt c语音_isgraph - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在头文件中定义int isgraph(int ch); 检查给定字符是否具有图形表示形式,即它是数字(0123456789),大写字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ),小写字母 ...
- c 语言memmove,memmove - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在头文件中定义void * memmove(void * dest,const void * src,size_t count);(1) errno_t memmove_s(void * dest,r ...
- php中的lc_time,LC_TIME - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在头文件中定义#define LC_ALL / *实现定义* / #define LC_COLLATE / *实现定义* / #define LC_CTYPE / *实现定义* / #define L ...
- c语言 strncat,strncat - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在头文件中定义(1) char * strncat(char * dest,const char * src,size_t count);(直到C99) char * strncat(char * r ...
- c语言中mw shl code,cacoshl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在头文件中定义float complex cacoshf( float complex z );(1)(since C99) double complex cacosh( dou ...
- php vprintf,vprintf - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
格式-指向以空字符结尾的字符串的指针,指定如何解释数据.格式字符串由普通的多字节字符(%除外)组成,它们被原样复制到输出流和转换规范中.每个转换规范具有以下格式:介绍%字符(可选)一个或多个标志,用于 ...
- c语言L文件,frexpl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在头文件中定义float frexpf(float arg,int * exp);(1)(自C99以来) double frexp(double arg,int * exp);(2) long dou ...
- c语言isfinite_csqrtf - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在头文件中定义float complex csqrtf(float complex z);(1)(自C99以来) double complex csqrt( double complex z ); ...
- php atan2,atan2l - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
在头文件中定义float atan2f( float y, float x );(1)(since C99) double atan2( double y, double x ) ...
最新文章
- 简易在线实验室管理系统
- MySQL TEXT数据类型的最大长度
- Visual Studio 2017 已知问题 Qamp;amp;A
- Protocol Buffer 序列化
- vue 后端返回文件流下载文件
- 计算机专业自我总结1000字,计算机专业自我鉴定范文1000字
- 【转载】在.NET环境中实现每日构建--NAnt篇
- 理解WebKit和Chromium: Content API和CEF3
- .net mvc html5,带有.NET MVC 3 Razor Editor的HTML5占位符
- java 主流算法_java常用算法
- Visual Basic 概述
- 遥感图像裁剪后在ENVI里显示为黑色解决办法
- WPE详细教程四 独立外挂制作(1)
- 社会人类学类毕业论文文献包含哪些?
- 字符编码那些事--彻底理解掌握编码知识
- OSPF50个经典问题
- Word技巧:如何使用正则表达式高效替换
- 在线png转换成jpg、jpg转png、各种转
- Android中关于ComponentName的使用
- vtx文件有什么用_VTX文件扩展名 - 什么是.vtx以及如何打开? - ReviverSoft
热门文章
- bash 脚本中激活conda环境_ubuntu18.10目标检测算法环境部署+开机自启动脚本创建screen下的web服务...
- 常用来进行钢结构节点输出的软件是什么_纯干货:钢结构设计入门知识及简易方法(建议收藏)...
- java队列_RPC远程调用和消息队列MQ的区别
- php yii2.0 读取excel,yii2.0使用excel Gridview读取excel内容
- Python基础入门:分支及循环
- Python中bytes和str区别详细介绍
- Python 字符串与列表去重
- python 中文件输入输出及os模块对文件系统的操作
- 基于Django的乐观锁与悲观锁解决订单并发问题的一点浅见
- pycharm更换源(换源)(镜像源)