关于什么是错的任何想法
您的 fd1 从未被分配过,所以 read(fd1, ...) 返回错误。
fd1
read(fd1, ...)
检查返回值 read 和 printf("%m\n") 将打印详细信息。
read
printf("%m\n")
$ ./a.out a b file a exists file b exists Would you like to overwrite b? (Type 1 for yes or 0 for no) 1 step Bad file descriptor