从文本文件中将3x3数组读取为格式正确的2d向量

anon1
file.txt

13 14 15
10 17 152
1  34 56

string line;
ifstream infile("file.txt");
vector<vector<char> > num;

while (getline(infile, line)) {
    vector<char> row;

    for (char &c : line) {
        if (c != ' ') {
            row.push_back(c);
        }
    }
num.push_back(row);
}

for (vector<char> &row : num) {
    for (char &c : row) {
        cout << c << ' ';
    }
    std::cout << '\n';
}

我是C ++的新手,我想要一些有关如何读取3x3数组并将其以与文本文件相同的格式存储到2d向量中的帮助吗?我当前的输出如下所示:

1 3  1 4  1 5
1 0  1 7  1 5 2
1    3 4  5 6

预期产量:

13 14 15
10 17 152
1  34 56
一些程序员哥们

假设您确实要存储文件中数字,而不是字符,我建议您将每一行都放在an中,std::istringstream并使用它来解析通常要从std::cin中读取的数字,例如当您要读取纯int值时。

也许是这样的:

std::vector<std::vector<int> > num;

std::string line;
while (std::getline(infile, line))
{
    std::vector<int> values;
    std::istringstream iss(line);

    int value;
    while (iss >> value)
    {
        values.push_back(value);
    }

    num.push_back(values);
}

使用编写此答案时所示的输入文件,我们现在应该有一个3x3的整数“矩阵”。

如果我们输出它:

for (auto const& row : num)
{
    for (auto value : row)
    {
        std::cout << value << ' ';
    }

    std::cout << '\n';
}

然后我们应该得到输出:

13 14 15 
10 17 152 
1 34 56

while如果使用std::istream_iterator以下方法,则可以避免内部循环

std::vector<std::vector<int> > num;

std::string line;
while (std::getline(infile, line))
{
    std::istringstream iss(line);

    std::vector<int> values(std::istream_iterator<int>(iss),
                            std::istream_iterator<int>());

    num.push_back(values);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

读取格式正确的文本文件

来自分类Dev

在C编程中使用结构的双指针将文本文件中的Matrix读取为2D数组

来自分类Dev

Python 3:读取列表格式的文本文件

来自分类Dev

如何在C ++中将文本文件传输到2D数组?

来自分类Dev

尝试在C ++中将文本文件(ifstream)转换为2D字符数组

来自分类Dev

从文本文件Python 3创建3x3网格

来自分类Dev

从文本文件读取数字到2D数组

来自分类Dev

读取文本文件以使用Java创建2D数组

来自分类Dev

读取文本文件以用Java创建2D数组

来自分类Dev

用Java逐字符读取文本文件到2D数组中

来自分类Dev

将文本文件读入2D数组

来自分类Dev

从输入文本文件填充2D数组

来自分类Dev

将文本文件读入2D数组

来自分类Dev

如何使用PLinq将2d文本文件读取到2d数组中

来自分类Dev

每个文本文件行python 3创建多个3x3网格

来自分类Dev

在读取文本文件之前为2D字符串数组分配空间

来自分类Dev

在MATLAB中将以行分隔的字符串文本文件读取为字符串向量

来自分类Dev

如何向量化3x3 2D卷积?

来自分类Dev

如何将文本文件读取为数组

来自分类Dev

具有列成2D向量的C ++文本文件

来自分类Dev

文本文件的3d到2d转换并自动在Matlab中粘贴/加载.m文件

来自分类Dev

以某种格式从文本文件读取

来自分类Dev

以PHP格式读取文本文件

来自分类Dev

正确读取文本文件

来自分类Dev

如何在C ++中将输入正确读取为2D向量vector <vector <int >>

来自分类Dev

如何在C ++中将ASCII文本文件中的(小)整数读取为足够的数据数组

来自分类Dev

Python:如何将包含行列格式的坐标的文本文件读取为xy坐标数组?

来自分类Dev

Python 3.x读取文本文件时不忽略结尾的空行

来自分类Dev

通过Python3从网页读取文本文件

Related 相关文章

  1. 1

    读取格式正确的文本文件

  2. 2

    在C编程中使用结构的双指针将文本文件中的Matrix读取为2D数组

  3. 3

    Python 3:读取列表格式的文本文件

  4. 4

    如何在C ++中将文本文件传输到2D数组?

  5. 5

    尝试在C ++中将文本文件(ifstream)转换为2D字符数组

  6. 6

    从文本文件Python 3创建3x3网格

  7. 7

    从文本文件读取数字到2D数组

  8. 8

    读取文本文件以使用Java创建2D数组

  9. 9

    读取文本文件以用Java创建2D数组

  10. 10

    用Java逐字符读取文本文件到2D数组中

  11. 11

    将文本文件读入2D数组

  12. 12

    从输入文本文件填充2D数组

  13. 13

    将文本文件读入2D数组

  14. 14

    如何使用PLinq将2d文本文件读取到2d数组中

  15. 15

    每个文本文件行python 3创建多个3x3网格

  16. 16

    在读取文本文件之前为2D字符串数组分配空间

  17. 17

    在MATLAB中将以行分隔的字符串文本文件读取为字符串向量

  18. 18

    如何向量化3x3 2D卷积?

  19. 19

    如何将文本文件读取为数组

  20. 20

    具有列成2D向量的C ++文本文件

  21. 21

    文本文件的3d到2d转换并自动在Matlab中粘贴/加载.m文件

  22. 22

    以某种格式从文本文件读取

  23. 23

    以PHP格式读取文本文件

  24. 24

    正确读取文本文件

  25. 25

    如何在C ++中将输入正确读取为2D向量vector <vector <int >>

  26. 26

    如何在C ++中将ASCII文本文件中的(小)整数读取为足够的数据数组

  27. 27

    Python:如何将包含行列格式的坐标的文本文件读取为xy坐标数组?

  28. 28

    Python 3.x读取文本文件时不忽略结尾的空行

  29. 29

    通过Python3从网页读取文本文件

热门标签

归档