我已經編寫了創建管道的程序,向管道寫入數字,從管道讀取數據並將其打印到標準輸出。但它似乎是fscanf看到空管流,雖然我做fflush。爲什麼fprintf和fscanf不能用於管道
爲什麼fprintf不打印任何東西?
int main() {
int fd[2];
pipe(fd);
FILE* write_file = fdopen(fd[1], "w");
FILE* read_file = fdopen(fd[0], "r");
int x = 0;
fprintf(write_file, "%d", 100);
fflush(write_file);
fscanf(read_file, "%d", &x);
printf("%d\n", x);
}
誰低估了這個? –
@Ctx幫助!謝謝 :) –