Tôi có một số mã mà in đến stdout, trong mã giả có vẻ nhưlàm thế nào để kiểm tra xem một stdout được đóng
int main(){
//allocate data
while(conditional){
char *string = makedata();
fprintf(stdout,"%s",string);
}
//cleanup
}
này hoạt động tốt, nếu có điều kiện được bật lên thành không, nhưng nếu tôi đường ống đầu ra như
./a.out |head -n10 >dumped
Sau đó, mã không bao giờ đạt đến phần dọn dẹp, tôi không hiểu cách kiểm tra xem giá trị có được đóng hay không.
Cảm ơn
Còn 'feof()' và 'ferror()' thì sao? –