C语言中的write函数是用来将数据从文件描述符写入到文件中。它的原型如下:
```c
ssize_t write(int fd, const void *buf, size_t count);
```
其中,fd是文件描述符,buf是指向要写入数据的缓冲区的指针,count是要写入的字节数。
write函数的返回值是实际写入的字节数。如果返回值为-1,则表示写入出现错误,具体错误原因可以查看全局变量errno来获取。
下面是一个使用write函数将字符串写入文件的例子:
```c
#include
#include
int main() {
int fd = open("output.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644);
if (fd == -1) {
perror("open");
return 1;
}
const char *str = "Hello, World!";
ssize_t bytes_written = write(fd, str, strlen(str));
if (bytes_written == -1) {
perror("write");
close(fd);
return 1;
}
close(fd);
return 0;
}
```
在上面的例子中,open函数用来打开一个文件,并返回文件描述符。如果文件不存在,则使用O_CREAT参数来创建文件。O_WRONLY参数表示以只写方式打开文件,O_TRUNC参数表示清空文件内容。0644是文件权限,表示文件所有者有读写权限,其他用户只有读权限。
然后,通过write函数将字符串“Hello, World!”写入到文件中,然后关闭文件描述符。
需要注意的是,write函数是以字节为单位进行写入的,所以要确保传入的缓冲区的大小至少是要写入的字节数。
网友留言: