1

例:

//ヘッダーファイル

class Example
{
    private:
            fstream InputObject;  

    public:
            Example();  

}

//実装ファイル

Example::Example():InputObject("file_name.txt", ios::in) {}

同様の質問からこれまで読んだことから、C++の「古い」バージョンでクラス内のfstreamオブジェクトを初期化する唯一の方法は、上記のメンバーリストの初期化を介して行うことです。

質問:
それが本当にクラス内の fstream オブジェクトを初期化する「唯一の」方法である場合、ファイルが開かない場合はどうすればよいですか?

通常、fstream オブジェクトをチェックして正しく開くことを確認しますが、この場合は不可能のようです。また、できたとしても、最初に失敗した場合、どうすればオブジェクトを再初期化できますか?

4

1 に答える 1

0
#define WIN32_LEAN_AND_MEAN // This makes it so it doesn't look through libs that are not included when running

#include <fstream> //To Read write to files, to be able to
#include <iostream> // The basic stuff, cout, cin, etc.
using namespace std; // the capability of typing cout instead of std::cout
int main() // our main loop
{
fstream InputObject; // declaring InputObject as something that can write to a file
if(!Inputobject.open("File Name Here") // if it cant open the file
{
cout << "File not Open" << endl; // then write to console, " File not Open"
}

return 0;
system("pause");
}

ファイルが開いているかどうかを調べたいので、! ファイルを開く関数の前に、開いていないことを意味するため、!InputObject.open を使用した if ステートメントは、開いていないかどうかを確認し、それが true の場合は何かを実行します。開いているかどうか。

于 2015-10-22T07:29:09.340 に答える