C语言文件操作中的fprintf , fscanf 介绍

   fprintf/fscanf 与 sscanf/sprintf 中有一个很大的区别是 前两者可以操作文件,后两者则不可以。

   下面的是 fprintf 的格式说明。

C语言文件操作中的fprintf , fscanf 介绍_第1张图片

   其中的 stream 是指流,一般情况下也就是指定义的文件指针,format 是指格式。

   一般 fprintf 用于从指定的位置向文件中格式化输入一些数据,就比如下面这个例子。

#include

int main(void)

{
    struct student s1={1,"赵英俊",3.14 };        
    FILE * pf = fopen("test.txt","w");//打开对应文件
    if(pf == NULL)//判断是否存在该文件
    {
        printf ("error!!!!\n");
        system("pause");
        return 0;
    }
    fprintf(pf,"%d %s %.2f",s1.age,s1.name,s1.score);//向文件中格式化输入数据
    fclose(pf);//关闭文件
    pf = NULL;//使 pf 指向空,避免其成为野指针
    system("pause");
    return 0;
}

下面介绍的就是 fscanf 他也和 fprintf 相似,不过他是将数据从文件中拿出来再赋给 你所需要得到数据的地方。

同样下面是他的格式。

C语言文件操作中的fprintf , fscanf 介绍_第2张图片

  其中的 stream 是指流,一般情况下也就是指定义的文件指针,format 是指格式。

  一般 fprintf 用于从文件中格式化提取一些数据到所指定的位置,就比如下面这个例子。

#include

int main(void)

{

struct student s1 = {0};
    FILE * pf = fopen("test.txt","r");
    if(pf == NULL)
    {
        printf ("error!!!!\n");
        system("pause");
        return 0;
    }
    fscanf(pf,"%d %s %f",&s1.age,s1.name,&s1.score);
    system("pause");
    fclose(pf);

    pf = NULL;
    printf("%d %s %.2f",s1.age,s1.name,s1.score);//展示传输后的结果
    return 0;
}

好的 这些分享到此结束 后面我会来分享 fread 和 fwrite 的一些用法等。

你可能感兴趣的:(c语言,c语言,开发语言)