c++ - 将文件的元素加载到 C++ 中的二维数组中

标签 c++ arrays file

我对 C++ 非常陌生(这实际上是我参与过的第一个程序),并且在编写此程序时几乎必须学习它,但我遇到了困难。

该程序应该读入一个文本文件,将其加载到一个数组中并为数组中的每个数字分配一个字符(因此为此我想我将创建 2 个数组,一个 int 数组从文件中读入的数字,以及一个字符数组,其中包含分配给数字的字符)。然后它将打印这两个数组。然后它应该遍历初始 int 数组并搜索其值与其相邻值相差超过一个的任何数字,如果找到这样的值,它应该为该数字提供其相邻值的平均值。它应该进行所有这些更正,然后将字符分配给这些更正后的数字并打印出两个数组。

我真的不知道该怎么做,但我会尽量将我的问题缩小到我最初的问题。我不知道如何从文件中加载数组。我的教科书似乎很好地涵盖了数组和文件,但它并没有真正将它们放在一起并讨论从文件构建数组。

这是文件的样子,第一个数字是数组的大小。

10
7 6 9 4 5 4 3 2 1 0
6 5 5 5 6 5 4 3 2 1
6 5 6 6 7 6 8 4 3 2
1 5 6 7 7 7 6 5 4 3
5 5 6 7 6 7 7 6 5 9
5 6 7 6 5 6 6 5 4 3
5 6 7 9 5 5 6 5 4 3
5 5 6 7 6 6 7 6 5 4
5 9 5 6 7 6 5 0 3 2
5 5 5 5 6 5 4 3 2 7

这是我到目前为止的代码,尽管其中绝大部分都是处理打开文件的。我假设它至少是正确的,因为当我运行它时我没有收到“无法打开文件错误”。

#include <iostream>
#include <fstream>
#include <array>

int main() { // Main will be in prog1_test
    //Open file
    ifstream prog1File("prog1.dat", ios::in);

    //If file can't be opened, exit
    if (!prog1File) {
        cerr << "File could not be opened" << end;
        exit(EXIT_FAILURE);
    }
        int size;
        int numArray[][];
 }

虽然我确实声明了大小和数组变量,但我不知道这样做是否正确,就像我说的那样,我对此还是很陌生。我知道一些基本的 Java,但我无法弄清楚如何将其转换为 C++。非常感谢任何建议。

最佳答案

只需将 ofstream 替换为 ifstream,将 ios::out 替换为 ios::in

#include <iostream>
#include <fstream>
#include <array>

int main() { // Main will be in prog1_test
    //Open file
    ifstream prog1File("prog1.dat", ios::in);

    //If file can't be opened, exit
    if (!prog1File) {
        cerr << "File could not be opened" << end;
        exit(EXIT_FAILURE);
    }
        int size;
        int numArray[][];
 }

ofstream 用于写入而不是从文件读取,ios::out 是输出打开模式而不是输入打开模式。

希望对您有所帮助。

关于c++ - 将文件的元素加载到 C++ 中的二维数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25775392/

相关文章:

javascript - 如何在 Javascript 中使用 JSON 进行多维搜索?

iphone - 何时释放添加到 NSMutableDictionary 的对象

c++ - 使用 cin.get 提取特定数量的字符并确保正确

java - 将InputStream写入文件

c++ - 如果您不知道原始类型是有符号的还是无符号的,有没有办法从 boost::any 中获取整数

c++ - 如何将 boost::hana::Sequence 的元素全部满足一个概念来表述为一个概念?

c++ - 计算贝塞尔弧长 3D C++

java - 无法正确关闭文本文件

security - 使用正确的文件名在浏览器中安全下载文件

c++ - 我应该选择什么同步方案来避免实时 C++/MFC 应用程序上的死锁?