【C 语言】文件操作 (fscanf、fprintf 函数)(一)

简介: 【C 语言】文件操作 (fscanf、fprintf 函数)(一)

文章目录

一、fscanf 函数

二、fprintf 函数





一、fscanf 函数


fscanf 遇到空格 , 回车 会断开 , fgets 遇到回车会断开 ;


fscanf 函数作用 : 根据数据格式 const char * format , 从文件 FILE * stream 中 , 读取数据存储到 [argument...] 参数中 ;


fscanf 函数原型 :


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



使用 fgets 从文件中获取数据 ( 用作对比参照 ) :


#include <stdio.h>
int main()
{
    FILE *p = fopen("D:\\a.txt", "r");
    while (!feof(p)){
        char buffer[100] = {0};
        fgets(buffer, sizeof(buffer), p);
        printf("%s\n", buffer);
    }
    // 关闭文件
    fclose(p);
    printf("Main End\n");
    return 0;
}


输出 :


13 + 5 = 18






使用 fscanf 函数从文件中获取数据 : 此处读取的数据格式是 “%s” , 遇到空格或回车 , 就当做一个新的字符串进行处理 ;


#include <stdio.h>
int main()
{
    FILE *p = fopen("D:\\a.txt", "r");
    while (!feof(p)){
        char buffer[100] = {0};
        //fgets(buffer, sizeof(buffer), p);
        // fscanf 与 scanf 用法一致
        // fscanf 是从文件中读取 , scanf 是从命令行读取
        fscanf(p, "%s", buffer);
        printf("%s\n", buffer);
    }
    // 关闭文件
    fclose(p);
    printf("Main End\n");
    return 0;
}


执行结果 : fscanf 函数将 空格 也当做了换行 ;


输出


13
+
5
=
18
Main End





读取指定格式的字符串 : 读取 "%d + %d = %d" 格式的字符串 , 将其中的整型变量 , 输出到 a, b, c 变量中 ;


#include <stdio.h>
int main()
{
    FILE *p = fopen("D:\\a.txt", "r");
    while (!feof(p)){
        char buffer[100] = {0};
        //fgets(buffer, sizeof(buffer), p);
        int a, b, c;
        // fscanf 与 scanf 用法一致
        // fscanf 是从文件中读取 , scanf 是从命令行读取
        fscanf(p, "%d + %d = %d", &a, &b, &c);
        printf("a=%d , b=%d , c=%d\n",  a, b, c);
    }
    // 关闭文件
    fclose(p);
    printf("Main End\n");
    return 0;
}



执行结果 :


a=13 , b=5 , c=18
Main End

image.png

目录
相关文章
|
9天前
|
程序员 C语言
C语言库函数 — 内存函数(含模拟实现内存函数)
C语言库函数 — 内存函数(含模拟实现内存函数)
18 0
|
11天前
|
存储 程序员 C语言
C语言-文件操作
C语言-文件操作
42 2
|
12天前
|
存储 程序员 编译器
【C语言】深度探讨文件操作(一)
【C语言】深度探讨文件操作(一)
|
9天前
|
程序员 C语言 开发者
C语言库函数 — 字符串函数(含模拟实现字符串函数)
C语言库函数 — 字符串函数(含模拟实现字符串函数)
35 0
|
16天前
|
存储 C语言
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现1
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现
|
16天前
|
机器学习/深度学习 C语言
【C语言】函数的系统化精讲(三)1
【C语言】函数的系统化精讲(三)
|
16天前
|
编译器 C语言
【C语言】函数的系统化精讲(一)2
【C语言】函数的系统化精讲(一)2
|
16天前
|
编译器 Serverless C语言
【C语言】函数的系统化精讲(一)1
【C语言】函数的系统化精讲(一)
|
16天前
|
存储 程序员 编译器
【C语言第二回】main、printf和库函数
【C语言第二回】main、printf和库函数
|
18天前
|
Linux 测试技术 C语言
【Linux】应用编程之C语言文件操作
【Linux】应用编程之C语言文件操作