如何在c++中读取两个txt文件

how to read two txt files in c++

本文关键字:两个 txt 文件 c++ 读取      更新时间:2023-10-16

我想从两个不同的txt文件中读取两个矩阵,并在另一个文件中输出它们。我没有写所有的,它只写第一个和"嗨",然后就停在那里了。所以我认为它无法读取第二个文件。这是代码:

#include <iostream>
#include <fstream>
using namespace std;
#define I 5
#define J 5
#define P 2
int i,j,k;  //for loops
int main ()
{
    ifstream inFile;
    ofstream outFile;
    double C[I][J];
    double u[I][J];
    double UB = 0;
    outFile.open("results.txt");
    // READ U0
    inFile.open("u.txt", ios::in);
    if (! inFile) {
        cerr << "unable to open file u.txt for reading" << endl;
        return 1;
    }
    for(i = 0; i < I; i++)
        for(j = 0; j < J; j++)
            inFile >> u[i][j];
    outFile << "u" << endl;
    for(i = 0; i < I; i++)
    {
        for(j = 0; j < J; j++)
            outFile << u[i][j];
            outFile << endl;
    }
    outFile << "Hi";
    //READ C
    inFile.open("C.txt", ios::in);
    if (! inFile) {
        cerr << "unable to open file C.txt for reading" << endl;
        return 1;
    }
    for(i = 0; i < I; i++)
        for(j = 0; j < J; j++)
            inFile >> C[i][j];
    outFile << "C" << endl;
    outFile << "UB=" << UB;

    inFile.close();
    outFile.close();
    return 0;
}

您有两个通用选择:

  • u.txtC.txt使用两个不同的变量,例如inFile1inFile2
  • 使用inFile.close()关闭inFile,然后尝试使用相同的变量打开新文件