// 编写一个程序,使用open系统调用创建一个新文件,并使用write系统调用将用户从控制台输入的内容写入该文件,直到用户输入 "quit"为止。 #include #include #include #include #include #include int main(int argc, char const *argv[]) { int fd = open("b.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); if (fd < 0) { perror("open"); return -1; } char buf[1024] = ""; // 初始化缓冲区 ssize_t input_len; while (strcmp(buf, "quit\n") != 0) // 检查用户输入是否为"quit\n" { memset(buf, 0, sizeof(buf)); // 清空缓冲区 input_len = read(STDIN_FILENO, buf, sizeof(buf)); if (input_len < 0) { perror("read"); return -1; } if (strcmp(buf, "quit\n") != 0) // 检查用户输入是否为"quit\n" { int wrt = write(fd, buf, input_len); if (wrt < 0) { perror("write"); return -1; } } } if (close(fd) < 0) { perror("close"); return -1; } return 0; }