fscanf函数的使用-文件内容解析

一、fscanf函数的介绍

头文件:#include

原型:int fscanf(FILE *stream, const char *format, ...);

功能:input format conversion  (输入格式转换)

参数介绍

stream :指向 FILE 对象的指针

format :  字符串格式

fscanf函数的使用-文件内容解析_第1张图片

字符串格式的介绍:读取连续字符,直到遇到一个空格字符(空格字符可以是空白、换行和制表符)。

返回值:成功匹配的数量;失败返回EOF。

fscanf函数的使用-文件内容解析_第2张图片

二、测试

需要解析的文件中的内容,如下:

1=1.2,nucll ,123,ad1 
2=2.2,adc2 ,123,ad2

测试代码:

#include 
#include 


#define  MY_FILE "./my_fscanf.txt"




int main(int argv,char *argc[])
{
    FILE *pfile;
    int num=0;
    char buf[20]={0};
    int num2=0;
    char buf2[20]={0};
    int num3=0;
    int num4=0;
    float fNum=0;
    int err;
    pfile=fopen(MY_FILE,"r");
    /* 文件内容,字符串注意空格
    1=1.2,nucll ,123,ad1 
    2=2.2,adc2 ,123,ad2 
    */
   while(1)
   {
        err=fscanf(pfile,"%d=%f,%s ,%d,%s",&num,&fNum,buf,&num2,buf2);
        printf("err=%d\n",err);
        if(err !=5 || err == -1)
        {
                break;
        }
        printf("num=%d;buf=%s;num2=%d;buf2=%s,fNum=%f\n",num,buf,num2,buf2,fNum);
   }
    fclose(pfile);


    return 0;


}

测试结果:

fscanf函数的使用-文件内容解析_第3张图片

可以看到正确解析了文件中的内容。

按照一定的格式信息存储,解析时使用fscanf函数即可。


欢迎关注公众号:嵌入式学习与实践

你可能感兴趣的:(算法)