Cで$|=1;相当の処理をするには?
[上に]
[前に]
[次に]
PTAN
[E-Mail]
1999/11/13(土) 14:40:17
Perlでstdoutにキャッシュさせないようにする時、
$|=1;
と書きますが、Cではこれに相当するコマンド(関数?)は
あるのでしょうか?
全てのprintfの後にfflush(stdout)してもよいのですが...
きたむら
1999/11/13(土) 23:07:34
昔からあるのは、setbuf(stdout, NULL); でしょうか。
#って古いっすか?今はsetvbufとか使うの?
B-Cus
1999/11/14(日) 05:44:16
# UNIX なのか Windows なのか、環境を書きましょうよ。
> 今はsetvbufとか使うの?
setbuf が obsolete というわけでもないと思います。
多くの環境では、setbuf は setvbuf を呼び出すだけの関数に
なってるんじゃないでしょうか。
行単位のバッファリングでいいなら、
char buf[1024];
setvbuf(stdout,buf,_IOLBF,sizeof(buf))
の方が、処理効率あがるかも。
PTAN
1999/11/14(日) 12:39:09
[[解決]]
なるほど、ありがとうございましたm(__)m
MSDNを見たら、setbufは互換性のために残してるだけなので、setvbuf
を使いましょうとありました。
きたむら
1999/11/15(月) 01:34:32
あ、やはり古かったですね>setbuf
obsoleteでなくても、なんとなく無駄な処理を増やしてる
ようなのがいやなので、これからはsetvbufにします…。
[上に]
[前に]
[次に]