c语言write函数的用法是什么

小亿
292
2023-08-02 12:44:19
栏目: 编程语言

C语言中的write函数是用来将数据从文件描述符写入到文件中。它的原型如下:

ssize_t write(int fd, const void *buf, size_t count);

其中,fd是文件描述符,buf是指向要写入数据的缓冲区的指针,count是要写入的字节数。

write函数的返回值是实际写入的字节数。如果返回值为-1,则表示写入出现错误,具体错误原因可以查看全局变量errno来获取。

下面是一个使用write函数将字符串写入文件的例子:

#include <unistd.h>
#include <fcntl.h>
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函数是以字节为单位进行写入的,所以要确保传入的缓冲区的大小至少是要写入的字节数。

0
看了该问题的人还看了