std::basic_ifstream<CharT,Traits>::basic_ifstream - cppreference.com
提供: cppreference.com
<tbody> </tbody>
|
|
(1) | |
|
|
(2) | |
|
|
(3) | (C++17以上) |
|
|
(4) | (C++11以上) |
|
|
(5) | (C++17以上) |
|
|
(6) | (C++11以上) |
|
|
(7) | (C++11以上) |
新しいファイルストリームを構築します。
1) デフォルトコンストラクタ。 ファイルと紐付けられていないストリームを構築します。 std::basic_filebuf をデフォルト構築し、このデフォルト構築された std::basic_filebuf メンバへのポインタを使用して基底を構築します。
2-3) まず、デフォルトコンストラクタと同じステップを行います。 その後、 rdbuf()->open(filename, mode | std::ios_base::in) を呼ぶことによって、ストリームをファイルと紐付けます (呼び出しの効果の詳細は std::basic_filebuf::open を参照してください)。 open() の呼び出しがヌルポインタを返した場合は、 setstate(failbit) をセットします。 オーバーロード (3) は、 std::filesystem::path::value_type が char でない場合にのみ提供されます。 (C++17以上)
4-5) basic_ifstream(filename.c_str(), mode) と同じです。
6) ムーブコンストラクタ。 まず、 other から基底クラスをムーブ構築し (これは rdbuf() のポインタに影響を与えません)、その後、 std::basic_filebuf をムーブ構築し、その後、基底クラスの rdbuf() ポインタとして新しい basic_filebuf を設定するために this->set_rdbuf() を呼びます。
7) コピーコンストラクタは削除されています。 このクラスはコピー可能ではありません。
引数
| filename | - | 開くファイルの名前 | ||||||||||||||
| mode | - | ストリームのオープンモードを指定します。 以下の定数が定義されています。
| ||||||||||||||
| other | - | ソースとして使用する別のファイルストリーム |
例
#include <fstream> #include <utility> #include <string> int main() { std::ifstream f0; std::ifstream f1("test.bin", std::ios::binary); std::string name = "example.txt"; std::ifstream f2(name); std::ifstream f3(std::move(f1)); }
関連項目
| ファイルを開き、それをストリームと紐付けます (パブリックメンバ関数) [edit] | |
| ファイルを開き、それを文字シーケンスとして紐付けます ( std::basic_filebuf<CharT,Traits>のパブリックメンバ関数) [edit]
| |
エラー状態をクリアせずに rdbuf を置き換えます (プロテクテッドメンバ関数) [edit] | |
| オブジェクトを構築します ( std::basic_istream<CharT,Traits>のパブリックメンバ関数) [edit]
|