我得到了一些代碼打印到標準輸出,在僞代碼,它看起來像如何檢查是否標準輸出關閉
int main(){
//allocate data
while(conditional){
char *string = makedata();
fprintf(stdout,"%s",string);
}
//cleanup
}
這工作得很好,如果條件被切換到零,但是如果我管輸出像
./a.out |head -n10 >dumped
然後代碼從來沒有達到清理部分,我不明白如何檢查標準輸出是否被關閉。
感謝
'feof()'和'ferror()'怎麼辦? –