3
私はバイナリストリームを非常に密接に(バッファリングされていない)パイプ処理する必要のある小さなプログラムに取り組んでいます。それはselect()
の多重化に依存しなければならず、さらに価値がないので、入力が増えない限り既存の入力を保持することはできません。C stdio unbuffered multiplexing
システムコールを使用することは可能ですが、もう一度、stdioを便利に使用したいと思います(文字列フォーマットも含まれます)。
select()
は、バッファされていないstdioを使用している限り、ストリームのファイル記述子に安全に使用できますか?そうでない場合は、セットからブロックされないファイルストリームをどのようにして判断できますか?- char-by-char関数(
getchar()
とフレンド)のほかに、libcのすべての入力をアプリケーションに転送する呼び出しはありますか?
+1これは非常に良い答えと思われます(そして、dprintfのおかげで、私はそれが存在しなければならないことを知っていました!)。誰でもそれを打つことができますか? –
dprintf()は、利用可能な場所があればいつでも入手できます。 –