首页 > 解决方案 > 在尝试将没有空格的文本文件读取到 C++ 中的二维数组时需要帮助

问题描述

我正在尝试将没有空格的文件读取到数组中。我必须输入文件名,打开文件,将其转换为二维数组,然后在编辑后将其打印到 txt 中。数组看起来像这样,尽管它的行数和列数可以改变(最大为 10x26):

...A..B..C..
..ABC...AB..

等等等等。我试过的是:

string fileName;
   cout << "Enter the name of the input file: ";
   cin >> fileName;
   ifstream Scanner;
   Scanner.open(fileName);
   int fileArray[10][26];
   for(int rows = 0; rows < 10; rows++)
   {
      for(int seats = 0; seats < 26; seats++)
      {
         Scanner >> fileArray[rows][seats];
      }
   }

   for(int r = 0; r < 2; r++)
   {
      for(int c = 0; c < 5; c++)
    {
        cout << fileArray[r][c];
    }
   }

但是,当我尝试打印数组时,它会给出一堆数字,而不是我试图放入其中的字符。任何帮助,将不胜感激。我所需要的只是克服将文本文件放入二维数组的障碍,然后我想我可以完成程序。

标签: c++arrays

解决方案


矩阵确实是一堆数字,因为您如此声明。

int fileArray[10][26];这应该是char fileArray[10][26]

或者

你可以像这样在打印时投射

std::cout << static_cast<char>(fileArray[r][j])


推荐阅读