读文件fscanf函数的用法

点击打开在线编译器,边学边练

如同printf与scanf的关系一样,fprintf和fscanf也是如此,fprintf负责向文件里写数据,fscanf函数则可以从文件里读数据

它的函数原型如下:

int fscanf(FILE *stream, char *format[,argument...]);

作为格式化写数据函数,它的参数同样比scanf也多一个参数,即第一个参数文件指针,表示读取的文件目标,其余参数和scanf一样,按照相应的格式进行读取,返回值表示读取数据的字节数。比如:

char str[100];
fscanf(fp,"%s",str);

则表示从fp所指向的文件中进行读数据,与空格或换行结束,将结果保存到str数组中


更多scanf的格式如下表:

格式作用
%d读入一个十进制整数
%i读入十进制,八进制,十六进制整数,与%d类似,但是在编译时通过数据前置或后置来区分进制,如加入“0x”则是十六进制,加入“0”则为八进制。例如串“031”使用%d时会被算作31,但是使用%i时会算作25
%u读入一个无符号十进制整数
%f %F %g %G用来输入实数,可以用小数形式或指数形式输入
%x %x 读入十六进制整数
%o读入八进制整数
%s直到遇到一个空格字符(空格字符可以是空白、换行和制表符)。
%c单个字符:读取下一个字符。如果指定了一个不为 1 的宽度 width,函数会读取 width 个字符,并通过参数传递,把它们存储在数组中连续位置。在末尾不会追加空字符。



本文固定URL:https://www.dotcpp.com/course/411

第一章 C语言的过去与未来
第二章 C语言快速入门
第三章 C语言的数据类型
第四章 C语言中的基本输入输出
第五章 运算符和表达式
第六章 C语句和程序流
第七章 函数
第八章 数组
第九章 指针
第十章 复合结构
第十一章 文件操作
第十二章 预处理
Dotcpp在线编译      (登录可减少运行等待时间)