我正在尝试在 C 中使用低级函数并希望从 STDIN 读取并将该信息存储在文件中。
int dash, c;
char buffer[1024];
if((dash = creat("file.txt", S_IRWXU)) < 0)
perror("creat error");
while ((c = read(STDIN_FILENO, buffer, sizeof(buffer))) > 0) {
if (write(dash, buffer, c) != c)
perror("write error");
我无法理解如何访问“file.txt”来读取它以打印到屏幕或存储到另一个文件。我会只使用'read(“file.txt”,buffer,sizeof [buffer])'吗?
编辑 现在创建“file.txt”后,我想打开另一个文件,比如说file1(argv [3])并将“file.txt”转储到file1(agrv [3])中。这行得通吗?
fd = open(argv[3], O_RDWR); //open 3rd arg for writing
fd_2 = open("file.txt", O_RDWR); //open created file
do {
n = read(fd_2, buffer, sizeof(buffer));
if (n < 0)
perror("read error argv[2]"); //greater 0=succesful
write(STDOUT_FILENO, buffer, n); // this is where I'm stuck
} while (n == sizeof(buffer));
close(fd);
我现在打开了两个文件,但不知道如何将“file.txt”写入 argv[3]。