You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++如何将文本文件中的数值读取并存入数组

读取空格分隔数值文本到数组的实现方案

通用实现逻辑

  • 按行读取文本文件内容
  • 对每一行内容按空格分割,得到单个数值字符串
  • 将数值字符串转为对应类型的整数/浮点数
  • 按行列顺序存入二维数组即可
    你已经提前获取到了行数、列数参数,可以直接用对应参数控制数组维度和读取范围,无需额外探测文件格式。

常用语言实现示例

Python 实现

# 替换为你实际拿到的用户输入行数、列数
rows = 3
cols = 3
result_arr = [[0]*cols for _ in range(rows)]

with open("你的文件存储路径.txt", "r", encoding="utf-8") as f:
    for row_idx in range(rows):
        # 读取一行后按空格拆分、转整数
        line_nums = list(map(int, f.readline().strip().split()))
        for col_idx in range(cols):
            result_arr[row_idx][col_idx] = line_nums[col_idx]

# 可打印验证结果
print(result_arr)

C 语言实现

#include <stdio.h>
// 可根据实际业务需求调整最大支持的数组容量
#define MAX_SIZE 1000

int main() {
    // 替换为你实际拿到的用户输入行数、列数
    int rows = 3, cols = 3;
    int result_arr[MAX_SIZE][MAX_SIZE];
    FILE *fp = fopen("你的文件存储路径.txt", "r");
    
    if(fp == NULL) {
        perror("文件打开失败");
        return 1;
    }
    // fscanf自动跳过空格、换行等空白符,无需单独处理换行
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            fscanf(fp, "%d", &result_arr[i][j]);
        }
    }
    fclose(fp);
    
    // 可打印验证结果
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            printf("%d ", result_arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

Java 实现

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadNumToArray {
    public static void main(String[] args) throws FileNotFoundException {
        // 替换为你实际拿到的用户输入行数、列数
        int rows = 3, cols = 3;
        int[][] resultArr = new int[rows][cols];
        Scanner scanner = new Scanner(new File("你的文件存储路径.txt"));
        
        for(int i = 0; i < rows; i++) {
            for(int j = 0; j < cols; j++) {
                resultArr[i][j] = scanner.nextInt();
            }
        }
        scanner.close();
        
        // 可打印验证结果
        for(int i = 0; i < rows; i++) {
            for(int j = 0; j < cols; j++) {
                System.out.print(resultArr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

注意事项

  • 确认文件路径填写正确,使用相对路径时要核对代码执行目录和文件存储目录是否一致
  • 如果文件存在多余空行、非数值字符,建议先做格式校验和异常捕获,避免读取报错
  • 若存储的是浮点数,将代码中对应int类型替换为float、double即可

内容的提问来源于stack exchange,提问作者berkin_ozdemir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:45:01