1

そのため、コンソールに表示する適切なテキストを取得するために 2 つの異なるテキスト ファイルを開く必要があるクラスのプログラムに取り組んでいます。私のコードはファイルを開いておらず、「.txtファイルを開けません」というelseステートメントを出力し続けています。ファイルを開くためにいくつかの異なる方法を試しましたが、うまくいきませんでした。ここで何か助けていただければ幸いです。

//
//  main.cpp
//  PunchLine program
//  Page 896 Problem 3
//
//

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
    //File stream objects
    fstream inFile;
    string line;

    //Open joke file to read lines to console
    inFile.open("joke.txt", ios::in);

    if (inFile.is_open())
    {
        //Read lines from file to console
        while (getline(inFile, line))
        {
            cout << line << endl;
            inFile.close();
        }
    }    
    else 
        cout << "joke.txt file cannot be open.\n";

    //Open punchline file to read last line joke to console
    inFile.open("punchline.txt", ios::in);

    if (inFile.is_open())
    {
        //Read last line from file to console
        inFile.seekp(-52L, ios::end);
        getline(inFile, line);
    }    
    else 
        cout << "punchline.txt file cannot be open.\n";

    return 0;
}
4

5 に答える 5

0

画面をフラッシュする必要があると思います。ストリームをフラッシュして閉じたら。次にアプリケーションを実行すると、ファイルが開かれます。

e.g.
inFile.flush();
inFile.close();
于 2013-10-21T15:37:18.480 に答える