读取多行文本文件

时间:2019-01-21 16:03:44

标签: c++

#include <iostream>
#include <fstream>
#include <cmath>
#include <string>

using namespace std;

int main()
{
    string zeile;
    ifstream file;
    file.open("zahlen.txt");
    int array[3][8];
    int i = 0;
    int u = 0;
    while (file) {

        file >> u;
        array[i] = u;
        i++;
    }
    int f = 0;
    while (f <= 7) {

        cout << array[f];

        f++;
    }

    return 0;
}

0 0 0 0 1 1 0 1
0 0 0 1 0 0 1 1
1 1 0 1 0 1 1 0

我们试图读取带有数字的txt文件,并将数字存储在数组中。 该数组应包含3个8位长的序列 在读取文件的第二行和第三行时,我们也遇到问题。

1 个答案:

答案 0 :(得分:0)

请尝试以下类似操作:

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>

int main()
{
    std::ifstream file("zahlen.txt");
    if (!file.is_open())
        return -1;

    int array[3][8] = {};
    int num = 0;

    for (int i = 0; i < 3; ++i)
    {
        std::string line;
        if (!std::getline(file, line))
            break;

        std::istringstream iss(line);
        int u;

        for (int j = 0; j < 8; ++j)
        {
            if (!(iss >> u))
                break;

            array[num][j] = u;
        }

        ++num;
    }

    for (int i = 0; i < num; ++i)
    {
        for (int j = 0; j < 8; ++j)
        {
            std::cout << array[i][j];
        }
        std::cout << "\n";
    }

    return 0;
}

Live demo