2016-12-17 14 views
1

Cでは、setvbuf(...)を使用して、バッファ、そのサイズ、およびバッファリングモードを設定できます。どのようにFILE*(例:stdout、またはユーザが提供)を指定した場合、これらの値を読み取る方法を誰にも求めていないことがわかりました。つまり、どのようにして "getvbuf(...)"ルーチン(またはそれのサブセット)を実装することができますか?オープンな `FILE * 'からバッファリングパラメータを取得する

void getvbuf(FILE* stream, char** pbuf,int* bufmode,size_t* bufsize); 

答えて

1

私は標準の一部として利用可能とは思われません。しかし、Solarisでは、これらのプロパティのほとんどがGNU Cコンパイラで利用可能であることを照会するための標準的でないメカニズムが導入されています。詳細は

チェックこれは:https://www.gnu.org/software/libc/manual/html_node/Controlling-Buffering.html

私はあなたがgetvbuf(..)のもののようなものをやりたいのユースケースを知って興味がありました。

+0

私は現時点でその位置にいます。私は出力の配管時に異なるバージョンのWindows(95対10)で異なるバッファリング動作を持ち、CRTまたはシェルから出力されているかどうかを判断したい。 –

関連する問題