21xrx.com
2024-12-27 16:18:12 Friday
登录
文章检索 我的文章 写文章
C++如何将文本文件中的二维数组导入代码?
2023-06-28 10:21:09 深夜i     --     --
C++ 文本文件 二维数组 导入 代码

在C++中,导入文本文件中的二维数组可以非常方便地完成。但是,要注意文件的格式以及数组的大小。

首先,您需要准备一个包含二维数组数据的文本文件。该文本文件中应该仅包含数字,每行一个数组元素,每个数字之间用空格或逗号隔开。在本篇文章中,我们将假设我们有一个名为“array.txt”的文件,其中有以下数据:

1 2 3

4 5 6

7 8 9

接下来,您需要在C++代码中定义一个二维数组,并将其初始化为文件中的内容。在这个例子中,我们将使用3×3的数组,如下所示:

int arr[3][3];

然后,您需要打开文件并读取每个数字。为了做到这一点,我们可以使用C++中的ifstream类。在读取前,我们需要使用fstream::open函数打开文件:

ifstream infile;

infile.open("array.txt");

然后,我们使用一个循环来逐行读取文件中的数字,并将它们存储到数组中。在循环中,我们使用getline函数来读取每一行的数据,然后使用字符串流将字符串转化为数字,并将数字存储到数组中。完整的代码如下:

#include

#include

#include

using namespace std;

int main() {

  int arr[3][3];

  ifstream infile;

  infile.open("array.txt");

  if (!infile) {

    cerr << "Unable to open file" << endl;

    exit(1);

  }

  string line;

  for (int i = 0; i < 3; ++i) {

    getline(infile, line);

    stringstream ss(line);

    for (int j = 0; j < 3; ++j) {

      ss >> arr[i][j];

    }

  }

  infile.close();

  // 测试是否导入成功

  for (int i = 0; i < 3; ++i) {

    for (int j = 0; j < 3; ++j) {

      cout << arr[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

在这个例子中,我们使用了stringstream类来将字符串转换为数字。然后,我们通过两个循环来打印数组中的元素,以检查导入是否成功。

总而言之,通过使用C++的ifstream类以及字符串流类,我们可以轻松地将文本文件中的二维数组导入到代码中。但是,我们需要事先了解文件格式和数组大小。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复