从txt中读入数据到数组中(fscanf)的实现代码

从txt中读入数据到数组中可以使用fscanf函数实现。fscanf函数的原型为:

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

其中第一个参数为文件流指针,第二个参数为格式字符串。后面的省略号表示待读取的参数,可以是多个。

在读取数据时,需要先打开文件,并保证文件存在,对于未找到文件的情况,需要给予提示。

示例代码1:读取整型数据

#include <stdio.h>

#define MAX_COUNT 100 // 数组的最大大小

int main() {
    FILE* fp;
    int arr[MAX_COUNT];
    int count = 0;
    int num;

    fp = fopen("data.txt", "r");
    if(fp == NULL) {
        printf("文件打开失败!\n");
        return -1;
    }

    while(fscanf(fp, "%d", &num) != EOF) {
        arr[count++] = num;
        if(count == MAX_COUNT) {
            break;
        }
    }

    fclose(fp);

    // 打印读取到的数组
    for(int i = 0; i < count; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

说明:以上代码中定义了一个数组,最多容纳MAX_COUNT个整型数据。打开data.txt文件,并在读取数据时限制数据总数不超过MAX_COUNT个。读取完毕后,关闭文件,并将数组中的数据打印出来。

示例代码2:读取浮点型数据

#include <stdio.h>

#define MAX_COUNT 100 // 数组的最大大小

int main() {
    FILE* fp;
    float arr[MAX_COUNT];
    int count = 0;
    float num;

    fp = fopen("data.txt", "r");
    if(fp == NULL) {
        printf("文件打开失败!\n");
        return -1;
    }

    while(fscanf(fp, "%f", &num) != EOF) {
        arr[count++] = num;
        if(count == MAX_COUNT) {
            break;
        }
    }

    fclose(fp);

    // 打印读取到的数组
    for(int i = 0; i < count; i++) {
        printf("%.2f ", arr[i]);
    }

    return 0;
}

说明:以上代码中定义了一个数组,最多容纳MAX_COUNT个浮点型数据。打开data.txt文件,并在读取数据时限制数据总数不超过MAX_COUNT个。读取完毕后,关闭文件,并将数组中的数据打印出来,每个数保留小数点后两位。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:从txt中读入数据到数组中(fscanf)的实现代码 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • C++11智能指针unique_ptr用法使用场景分析

    C++11智能指针unique_ptr用法使用场景分析 C++11引入了智能指针的概念,对于程序员来说是一个非常方便的工具,可以帮助管理动态分配的内存,防止出现内存泄漏等问题。智能指针有三种类型:unique_ptr、shared_ptr和weak_ptr,本文主要讲解unique_ptr的用法和使用场景。 unique_ptr的定义和特点 unique_p…

    C 2023年5月23日
    00
  • C语言基本语法

    当学习 C 语言时,我们需要掌握 C 语言的基本语法,这个攻略将会详细讲解 C 语言的基本语法内容和使用方法。 标识符 C 语言中使用标识符来标识变量、函数等名称。标识符由字母、数字和下划线组成,但第一个字符必须为字母或下划线。标识符大小写敏感。 示例代码: #include <stdio.h> int main() { int a = 10, …

    C 2023年5月9日
    00
  • Node.js 源码阅读深入理解cjs模块系统

    Node.js 源码阅读深入理解cjs模块系统的攻略可以分为以下几步: 1. 下载 Node.js 源代码 首先需要从 Node.js 官方网站下载 Node.js 的源代码。可以去 Node.js官网 下载最新版本的源代码,或者从 GitHub上的 Node.js仓库 上下载。下载后解压至本地,然后使用命令行工具进入解压后的目录。 2. 阅读 cjs 模块…

    C 2023年5月23日
    00
  • C语言代码实现点餐系统

    实现点餐系统的完整攻略 1. 确定系统需求 在实现点餐系统之前,首先需要明确系统的需求:用户可以看到菜单列表并选择自己想要的食品,可以查看已选订单并提交订单。在此基础上,可以添加一些特殊功能,如显示菜品图片、价格计算、下单时间控制等等。 2. 设计菜单和订单数据结构 在 C 语言中,常用的数据结构是结构体(struct)。我们可以定义两个结构体,一个代表菜单…

    C 2023年5月23日
    00
  • win10环境下C++ vs2015编译opencv249的教程

    以下是“win10环境下C++ vs2015编译opencv249的教程”的完整攻略。 准备工作 下载安装 VS2015 首先,需要下载并安装 Visual Studio 2015,可以通过微软官网下载,或者通过电脑管家等软件下载。 下载安装 CMake 其次,需要下载并安装 CMake。同样可以通过官网下载。 下载安装 Opencv 2.4.9 最后,需要…

    C 2023年5月23日
    00
  • 战地4出现0xc000007b错误怎么办 具体解决方法分享

    战地4出现0xc000007b错误怎么办?——具体解决方法分享 问题描述 在运行战地4时,可能会遇到“0xc000007b”错误,导致游戏无法启动或崩溃。这种错误通常是由多个因素引起的,包括操作系统、软件与驱动程序的错误等。 解决方法 以下提供几种解决“0xc000007b”错误的方法。 方法一:安装最新的操作系统更新 在Windows 10上,您可以打开“…

    C 2023年5月23日
    00
  • C++初识类和对象

    C++初识类和对象 什么是类和对象? 在C++中,类和对象是两个重要概念,类是一种用户自定义的数据类型,它是一组数据和操作数据的函数的集合,而对象是类的一个实例,是具体的、有形的存在。可以通过对象来使用类中的函数和数据。 如何定义一个类? 定义一个类,需要使用关键字class,语法如下: class 类名 { public: // 公共成员函数和成员变量 p…

    C 2023年5月22日
    00
  • C语言实现求梅森素数的代码与解析

    C语言实现求梅森素数的代码与解析 什么是梅森素数 梅森素数(Mersenne prime)是指形如2^p-1的素数,其中p是一个素数。 原理 求解梅森素数的方法是使用梅森-卡恩算法(Lucas-Lehmer test),这是一种用于测试一个数字是否是梅森素数的算法。该算法的基本思路是通过递推计算序列S,判断S的最后一个数是否为0,若为0则该数是梅森素数。具体…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部