发布时间:2025-12-11 01:30:25 浏览次数:1
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函数是以字节为单位进行写入的,所以要确保传入的缓冲区的大小至少是要写入的字节数。