fseek
功 能
重定位流(数据流/文件)上的文件内部位置指针
注意:不是定位文件指针,文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变指向别的文件。
用 法
int fseek(FILE *stream, long offset, int fromwhere);
描 述
函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
fseek函数和lseek函数类似,但lseek返回的是一个off_t数值,而fseek返回的是一个整型。
返回值
成功,返回0,失败返回-1,并设置errno的值,可以用perror()函数输出错误。 fseek position the file(文件) position(位置) pointer(指针) for the file referenced by stream to the byte location calculated by offset.
fprintf
简介
是C/C++中的一个格式化写—库函数;其作用是格式化输出到一个流/文件中; 函数完整形式: int fprintf(FILE *stream,char *format,[argument])
功 能
传送格式化输出到一个文件中, 可用于打印机输出。
用 法
#include
int fprintf( FILE *stream, const char *format, ... );
fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只能和printf()一样工作. fprintf()的返回值是输出的字符数,发生错误时返回一个负值.
fscanf
fscanf函数的一般形式
函数名: fscanf
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。
用 法: int fscanf(FILE *stream, char *format,[argument...]); int fscanf(文件指针,格式字符串,输入列表); for example: FILE *fp; char a[10]; int b; double c;
fscanf(fp,\返回值:整型,成功读入的参数的个数
编辑本段格式字符说明
常用基本参数对照: %d:读入一个十进制整数.
%i :读入十进制,八进制,十六进制整数,与%d类似,但是在编译时通过数据前置来区分进制,如加入“0x”则是十六进制,加入“0”则为八进制。例如串“031”使用%d时会被算作31,但是使用%i时会算作25.
%u:读入一个无符号十进制整数.
%f %F %g %G : 用来输入实数,可以用小数形式或指数形式输入. %x %X: 读入十六进制整数. %o': 读入八进制整数.
%s : 读入一个字符串,遇空格结束。
%c : 读入一个字符。无法读入空值。空格可以被读入。 附加格式说明字符表修饰符说明 L/l 长度修饰符 输入\长\数据 h 长度修饰符 输入\短\数据 示例说明
如果要求从标准输入中输入一串字符串和一个整型数,那么参数“%s%d”表示什么呢?默认情况下,在终端上(这里假设程序为控制台应用程序)输入第一个参数的值的时候敲下回车,则在第二行输入的为第二个参数值,采用这种输入方法那么格式字符的形式就无关紧要了。
这里要特殊说明的是如果参数在同一行给出,那么格式字符的参数与终端的输入会有什么关系。举个例子:如果格式字符为“%s+%d”,那么参数的输入就应该为 string + integer。