如何用c ++读取两个文本文件

时间:2012-02-25 21:13:53

标签: c++

我想从两个不同的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;

}

1 个答案:

答案 0 :(得分:0)

您有两种常规选择:

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