c++ - 一次从文件中读取一个字符(C++)并存储到二维数组中?

标签 c++ arrays text-files

<分区>

所以我在用 C++ 读取文本文件时遇到了一些麻烦。我想要做的是从包含字母网格的文本文件中读取。这是我设置的内容:

int main()
{
    char grid[10][10];
    ifstream input;
    input.open("puzzle1_size10.txt");

    //what goes here

    input.close();
    for(int i = 0; i < 10; i++)
    {
        for(int j = 0; j < 10; j++)
            cout<< grid[i][j]<<" ";
        cout<<endl;
    }
}

文本文件是这样的:

10 10
f e h l o a k r a y 
e s r r t s c d o y 
a l u g d o e e g a 
t c y y m h l j y a 
u r a p s y n a r j 
r e u d c a e p e r 
e t s o c h t p h c 
e g o p e h w l t w 
h h c l s d o e c a 
l n h c a m r l e e 

前两个数字代表网格的大小。我正在尝试读取每个字符(忽略初始数字)并将字符存储到名为 grid 的数组中。有什么建议吗?

我在 stackoverflow 上发现了其他类似的问题,但没有一个具有与此相同的上下文,也没有一个给我明确的答案。我只是试图一次从文件中读取一个字符并将该字符存储到二维数组中,以便可以轻松引用数组中的每个字母。有人可以帮忙吗?

最佳答案

我相信您正在寻找这样的东西?

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    char grid[10][10];
    ifstream input;
    input.open("File.txt", ios::in);

    int column = 0;
    int row = 0;


    input >> column >> row;

    for (int column_counter = 0; column_counter < column; column_counter++){

        for (int row_counter = 0; row_counter < row; row_counter++){

            input >> grid[column_counter][row_counter];

        }
    }



    input.close();
    for(int i = 0; i < 10; i++)
    {
        for(int j = 0; j < 10; j++)
            cout<< grid[i][j]<<" " << endl;
        cout<<endl;
    }
}

我先取了前两个数字,分别命名为column和row。然后在两个 for 循环中,我添加了计数器来计算网格的位置,直到它们达到您在文件开头指定的位置。

有什么问题尽管问!我会尽快给他们添加评论。我现在在一家咖啡馆里。

关于c++ - 一次从文件中读取一个字符(C++)并存储到二维数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33108785/

相关文章:

python - 如何将存储为字符串的元组转换回元组再转换为字符串?

c++ - 复制通过引用传递给函数的多维 vector

c++ - 异常中的类型转换

Java – 无法定位整数数组中的索引

c++ - 如何找到给定数组中数字之间的最大乘法(限制为 100000 个数字)

python - 在 Python 中对文本文件进行排序

c++ - 两个节点之间的贝塞尔样条插值 : How to find suitable anchor points?

c++ - 如何将包含嵌入空值的 Google Protocol Buffer SerializeAsString() 输出分配给 std::string?

javascript - 创建一个包含从 min 到 max 的所有数字的数组,无需循环

mysql 相当于 oracle utl_file