我得到了一些代码打印到标准输出,在伪代码,它看起来像如何检查是否标准输出关闭
int main(){
//allocate data
while(conditional){
char *string = makedata();
fprintf(stdout,"%s",string);
}
//cleanup
}
这工作得很好,如果条件被切换到零,但是如果我管输出像
./a.out |head -n10 >dumped
然后代码从来没有达到清理部分,我不明白如何检查标准输出是否被关闭。
感谢
'feof()'和'ferror()'怎么办? –