21xrx.com
2024-11-05 14:40:39 Tuesday
登录
文章检索 我的文章 写文章
"教程:如何在C++中导入文本文件中的二维数组?"
2023-07-06 22:35:35 深夜i     --     --
教程 C++ 导入 文本文件 二维数组

在使用C++编程的过程中,我们经常需要从外部文件中获取数据,例如文本文件。而在某些情况下,这些数据可能是表示二维数组的数据,因此在代码中导入这些数据作为二维数组是很常见的操作。本文将介绍如何在C++中导入文本文件中的二维数组。

首先,我们需要了解如何从文本文件中读取数据。在C++中,我们可以使用std::ifstream类来打开并读取文本文件。比如,我们可以使用以下代码打开并读取名为“input.txt”的文件:


#include <fstream>

int main() {

 std::ifstream inputFile("input.txt");

 // Do something with the file...

 inputFile.close();

 return 0;

}

有了文件句柄之后,我们可以使用从文件流中读取数据的操作符(“>>”)来获取文件中的每个数字。例如,以下代码将打印文件中的每个数字:


#include <fstream>

#include <iostream>

int main() {

 std::ifstream inputFile("input.txt");

 int number;

 while (inputFile >> number)

  std::cout << number << std::endl;

 

 inputFile.close();

 return 0;

}

接下来,我们需要知道如何将这些数据存储在二维数组中。在C++中,我们可以使用std::vector类来存储动态大小的数组。因此,我们可以定义一个二维vector来读取文件中的所有数字:


#include <fstream>

#include <iostream>

#include <vector>

int main() {

 std::ifstream inputFile("input.txt");

 std::vector<std::vector<int>> array2D;

 int number;

 while (inputFile >> number) {

  std::vector<int> row;

  row.push_back(number);

  array2D.push_back(row);

 }

 inputFile.close();

 return 0;

}

由于文件中的数字数量是不定的,因此我们使用了一个二维vector来存储数组。在每次读取到一个数字时,我们都创建一个新的vector来存储该数字,并将其添加到array2D中。

最后,我们可以通过遍历二维vector来显示导入的数据:


#include <fstream>

#include <iostream>

#include <vector>

int main() {

 std::ifstream inputFile("input.txt");

 std::vector<std::vector<int>> array2D;

 int number;

 while (inputFile >> number) {

  std::vector<int> row;

  row.push_back(number);

  array2D.push_back(row);

 }

 for (auto row : array2D) {

  for (auto number : row)

   std::cout << number << " ";

  

  std::cout << std::endl;

 }

 inputFile.close();

 return 0;

}

这段代码将遍历所有行和列,并将每个数字打印到控制台上。在导入文本文件中的二维数组时,您可以修改此代码以执行所需的操作。现在,你已经了解如何导入文本文件中的二维数组了!

  
  

评论区

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