ファイルとストリーム

プログラムは、ファイルを読み書きすることによって対象の環境と通信します。 ファイルには次のものがあります。

  • 繰り返し読み書きできるデータ セット。

  • プログラム (パイプラインなど) によって生成されるバイト ストリーム。

  • 周辺デバイスとの間で送受信されるストリーム バイト。

最後の 2 つの項目は対話型ファイルです。 一般的に、ファイルはプログラムと相互に作用するための主要な手段です。 ライブラリ関数を呼び出すことで、これらすべての種類のファイルを同じ方法で操作します。 これらの関数の大半を宣言するには、標準ヘッダー STDIO.H をインクルードします。

ファイルで多くの操作を実行する前に、ファイルを開く必要があります。 ファイルを開くことによって、各種ファイル間の多くの違いが無視される標準 C ライブラリ内のデータ構造であるストリームと、ファイルが関連付けられます。 ライブラリでは、各ストリームの状態が FILE 型のオブジェクトで維持されます。

対象の環境では、プログラムの起動前に 3 つのファイルを開きます。 2 つの引数を指定してライブラリ関数 fopenを呼び出すことで、 _wfopen ファイルを開くことができます。 (関数はfopen非推奨になりました。代わりに使用fopen_s_wfopen_sしてください)。最初の引数はファイル名です。 2 つ目の引数は、次を指定する C 文字列です。

  • ファイルからデータを読み込む、ファイルにデータを書き込む、または両方を行うかどうか。

  • ファイルの新しいコンテンツを生成する (または以前に存在しなかった場合はファイルを作成する) か、既存のコンテンツをそのまま残すか。

  • ファイルへの書き込みによって既存の内容が変更される、またはファイルの終端にバイトが追加されるのみかどうか。

  • テキスト ストリームまたはバイナリ ストリームを操作するかどうか。

ファイルが正常に開いたら、ストリームがバイト指向 (バイト ストリーム) かワイド指向 (ワイド ストリーム) かを決めることができます。 ストリームは、初期状態ではバインドされていません。 ストリームで操作する特定の関数を呼び出すとバイト指向になり、特定の他の関数を呼び出すとワイド指向になります。 確立されると、ストリームメインへの呼び出しによって閉じられるまで、その向きをfclose維持しますfreopen

© 1989-2001 by P.J. Plauger and Jim Brodie. All rights reserved.

関連項目

テキスト ストリームとバイナリ ストリーム
バイト ストリームとワイド ストリーム
ストリームの制御
ストリームの状態