ストリーム、より具体的にはファイル ストリームについて聞いたことがあります。
それで、彼らは何ですか?
記憶の中に位置を持っているものですか?
データを含むものですか?
ファイルとオブジェクトの間の単なる接続ですか?
ストリーム、より具体的にはファイル ストリームについて聞いたことがあります。
それで、彼らは何ですか?
記憶の中に位置を持っているものですか?
データを含むものですか?
ファイルとオブジェクトの間の単なる接続ですか?
ストリームという用語は、不明なバイト数の送受信を可能にする構造を抽象化したものです。比喩は水の流れです。データはそのまま取得するか、必要に応じて送信します。これを、既知の固定長を持つ配列などと比較してください。
ストリームが使用される例には、ファイルの読み取りと書き込み、外部接続を介したデータの送受信が含まれます。ただし、ストリームという用語は一般的なものであり、特定の実装については何も言いません。
IOStream は、入力関数と出力関数を定義するために使用されるフロントエンド インターフェイス ( std::istream
、 ) です。std::ostream
ストリームは、書式設定オプションも格納します。たとえば、整数出力に使用するベースや、std::locale
あらゆる種類のカスタマイズ用のオブジェクトを保持します。それらの最も重要なコンポーネントは、std::streambuf
一連の文字 (ファイル、文字列、画面上の領域など) にアクセスする方法を定義する へのポインタです。特に、ファイルと文字列に対しては、特別なストリーム バッファが提供され、クラスから派生したクラスが提供されます。簡単に作成できるように、ストリーム基本クラスが提供されます。IOStreams ライブラリのすべての機能を説明すると、ほぼ 1 冊の本を埋めることができます。C++ 2003 では、ライブラリ セクションの約半分がストリーム関連の機能に費やされていました。
ストリームは、ファイルをプログラムに接続し、双方向のデータの流れを維持する線形キューです。ここでのソースは、任意のファイル、I/O デバイス、ハードディスク、CD/DVD などです。
基本的にストリームは1.テキストストリーム 2.バイナリストリームの2種類の場合
テキスト ストリーム : 文字が一列に並べられ、各行が改行で終了するシーケンスです (unix)。
バイナリ ストリーム: コンピューターのメイン メモリに内部的にコーディングされているままのデータで、変更は加えられていません。
ファイル システムは、端末、ディスク ドライブ、テープ ドライブなど、さまざまなデバイスで動作するように設計されています。各デバイスは異なりますが、ファイル システムはそれぞれをストリームと呼ばれる論理デバイスに変換します。ストリームはデバイスに依存しないため、同じ関数を使用してディスク ファイルとテープ ファイルを書き込むことができます。より専門的な用語では、ストリームはプログラマーと実際に使用されているデバイスとの間の抽象化を提供します。