## 25.1 拡張機能

Rogue Wave による標準入出力ストリームの実装には、次のような拡張機能があります。以下の節で簡単に説明します。

### 25.1.1 ファイル記述子

在来型ファイルストリームでは、ファイルストリームとファイルをファイル記述子 で結合することができました。ファイル記述子はi、 `open()、close()、read()、write()` のように、特に UNIX ベースのプラットフォームのほとんどの C ライブラリの関数で使用します。しかし、プログラミング言語 C の ISO/ANSI 標準とそのライブラリにはこれらの関数がなく、ファイル記述子についても触れられていません。その意味では、ファイル記述子を使用すると、プログラムがプラットフォームやオペレーティングシステムに依存するようになります。これが、標準入出力ストリームがファイル記述子を使用しない理由です。

ただし、在来型入出力ストリームのファイル記述子機能を使用するプログラムがすでにある場合や、ファイル記述子以外ではアクセスできない、パイプなどのシステム固有のファイルにアクセスする必要がある場合もあります。これに対応するために、Rogue Wave の実装にはファイルストリームやファイルバッファのクラスに、追加のコンストラクターとメンバー関数が用意されており、ファイル記述子の操作を行うことができます。

その主な内容は次のとおりです。

- ファイル名ではなくファイル記述子を受け取るコンストラクタ
- 第 3 の追加パラメータ。ファイルアクセス権限を指定します。このパラメータは、いくつかのコンストラクタと `open()` メンバー関数で利用することができますが、標準インタフェースでは利用できません。このパラメータにはデフォルト値が用意されているため、通常は、ファイルの保護を考慮せずに利用することができます。

### 25.1.2 マルチスレッド化環境

マルチスレッド化については、第 23 章を参照してください。どのマルチスレッド機能も、すべて標準入出力ストリームの拡張機能であるため、他のライブラリの実装に移植することはできません。

Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。

OEM リリース, 1998 年 6 月