21xrx.com
2025-04-06 00:07:34 Sunday
文章检索 我的文章 写文章
"教程:如何在C++中导入文本文件中的二维数组?"
2023-07-06 22:35:35 深夜i     76     0
教程 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;
}

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

  
  

评论区

请求出错了