Linux中使用C语言和open新建一个文件file.txt,并写入内容,将file.txt文件内容复制到file_copy.txt中
时间: 2024-05-10 20:19:50 浏览: 101
我可以回答这个问题。您可以使用C语言中的标准库函数来完成这个任务。首先,使用 open() 函数创建一个文件,并将文件描述符存储在变量中。例如:
```
int fd = open("file.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644);
```
上面的代码将创建一个新文件 file.txt,并打开它以进行写入。如果文件已经存在,它将被截断为空文件。文件属性设置为文件所有者可读写,组用户可读,其他用户可读。然后,您可以使用 write() 函数来写入文件内容。
```
char *str = "Hello, world!";
write(fd, str, strlen(str));
```
上面的代码将 "Hello, world!" 写入文件。接下来,您可以使用 lseek() 函数将文件指针移回文件开头。然后,您可以使用 read() 函数读取文件中的内容,并将其写入另一个文件。例如:
```
lseek(fd, 0, SEEK_SET);
char buf[1024];
int n = read(fd, buf, sizeof(buf));
int fd2 = open("file_copy.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644);
write(fd2, buf, n);
```
上面的代码将读取 file.txt 的内容并将其写入 file_copy.txt。最后,您应该关闭两个文件描述符。
```
close(fd);
close(fd2);
```
这样就完成了文件操作任务。
阅读全文