C语言scanf( ) 函数、fprintf( ) 函数与 scanf( ) 函数和printf( ) 函数有什么不同?

一、问题

        fscanf( ) 函数、fprintf( ) 函数与 printf( ) 函数、scanf( ) 函数的作⽤相似,都是格式化读写函 数,那么这两个读写函数有什么不同呢?

二、解答

        两者的区别就在于前⾯的字符“f”,即 fscanfQ函数和 fprintfD函数的读写对象是磁盘⽂件(file),⽽不是键盘和显示器。

        scanf( ) 函数是通过键盘输⼊数据,使⽤ scanf( ) 函数读取键盘上的输⼊信息:⽽ printf( ) 函数是将信息输出到终端设备,即显示器上。 fscanf( ) 函数是读取指定磁盘⽂件中数据信息;⽽ fprintf( ) 是向指定的磁盘⽂件中输出信息,显示在磁盘⽂件上。 通过下⾯的例⼦,理解这四个函数的功能。代码如下。

#include <stdio.h>
int main()
{
    FILE *fp;
    long ln;
    float f1;
    char str[128];
    char str1[128];
    fp = fopen("time.txt", "w+");
    fprintf(fp, "%s %ld %f", "Hello", 1100, 12.34);
    fseek(fp, 0L, SEEK_SET);
    fscanf(fp, "%s", str);
    fscanf(fp, "%ld", &ln);
    fscanf(fp, "%f", &f1);
    printf("%s\t%ld\t%f\n", str, ln, f1);
    fclose(fp);
    scanf("%s", str1);
    printf("%s\n", str1);
}

        此函数的功能是创建并打开⼀个磁盘⽂件 time.txt。通过 fprintf( ) 函数向此磁盘⽂件中写⼊数据,有字符串形式的 hello,有⻓整型形式的 1100,有浮点型的 12.34。然后使⽤ fseek( ) 函数设置⽂件指示器的位置,通过 fscanf( ) 函数读取此字符串,分别读取这⼏种类型的数据,然后将这些数据输出到终端显示器上。为了在此程序中也能体现 scanf( ) 函数从键盘输⼊信息的功能,特意在程序的结尾处使⽤此函数读取信息,然后通过 printf( ) 函数再将此信息输出。

        程序的运⾏结果如下所示。

Hello   1100    12.340000
congratulation
congratulation

        写到⽂本⽂件中的内容如下所示。

三、总结

        这四个格式化读写函数的应⽤都写到了上述程序中,fscanf( ) 函数和 fprintf( ) 函数每次只能读写⼀个结构的元素,因此在读取磁盘⽂件中数据时,使⽤了三个 fscanf( ) 语句,分别读取三种不同数据类型的数据信息。

 

相关推荐

  1. Cprintfscanf函数的探索

    2024-06-08 11:54:05       23 阅读
  2. C语言scanfprintf 函数的&字符用法

    2024-06-08 11:54:05       29 阅读
  3. C++函数scanf printf 函数的标识符

    2024-06-08 11:54:05       16 阅读
  4. scanfprintf、string函数

    2024-06-08 11:54:05       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-08 11:54:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-08 11:54:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-08 11:54:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-08 11:54:05       20 阅读

热门阅读

  1. vue2 computed 、watch --vue3 computed 、watch

    2024-06-08 11:54:05       8 阅读
  2. jQuery:一站式指南

    2024-06-08 11:54:05       9 阅读
  3. 【讯为Linux驱动开发】4.文件私有数据

    2024-06-08 11:54:05       7 阅读
  4. 自动化喷涂生产线方案四

    2024-06-08 11:54:05       7 阅读
  5. 大数据如何更好地助力乡村振兴战略的实施?

    2024-06-08 11:54:05       8 阅读
  6. 快速删除 node_modules

    2024-06-08 11:54:05       11 阅读
  7. Transformer 内部原理学习

    2024-06-08 11:54:05       6 阅读