パイプを作成し、パイプに数値を書き込み、パイプから数値を読み込んで、stdoutに出力するプログラムを作成しました。しかし、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これが助けになりました!ありがとう:) –