write:向文件中写入数据
时间: 2024-03-27 08:36:32 浏览: 77
是的,write 函数可以向文件中写入数据。它是 unistd.h 头文件中定义的一个函数,其原型如下:
```c
#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t count);
```
其中,fd 是要写入数据的文件描述符;buf 是要写入数据的缓冲区;count 是要写入数据的字节数。
write 函数返回实际写入的字节数,如果出现错误,则返回 -1。
例如,下面的代码将字符串 "Hello world!" 写入到文件中:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{
int fd = open("test.txt", O_WRONLY | O_CREAT, 0666);
if (fd == -1) {
perror("open");
exit(1);
}
const char* str = "Hello world!";
ssize_t n = write(fd, str, strlen(str));
if (n == -1) {
perror("write");
exit(1);
}
close(fd);
return 0;
}
```
在这个例子中,我们使用 open 函数打开了一个名为 "test.txt" 的文件,并指定了 O_WRONLY 和 O_CREAT 标志,表示我们要写入数据,并且如果文件不存在,则创建它。然后,我们将字符串 "Hello world!" 写入到文件中,并通过 close 函数关闭了文件描述符。
阅读全文