write()
函数是在 C 语言中用于向文件描述符(file descriptor)写入数据的函数。它的详细用法如下
#include <unistd.h>
ssize_t write(int fd, const void *buffer, size_t count);
fd
:文件描述符,用于标识要写入的文件或设备。buffer
:指向要写入数据的缓冲区的指针。count
:要写入的字节数。
write()
函数会将 count
字节的数据从 buffer
中写入到与文件描述符 fd
相关联的文件或设备中。它返回实际写入的字节数,如果发生错误,则返回 -1,并设置全局变量 errno
表示具体的错误类型。
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
int main() {
int fd = open("file.txt", O_WRONLY | O_CREAT, 0644); // 打开或创建文件 "file.txt",以只写模式打开,文件权限设置为 0644
if (fd == -1) {
perror("Failed to open file"); // 如果打开或创建文件失败,则输出错误信息
return 1;
}
const char *data = "Hello, World!";
ssize_t bytesWritten = write(fd, data, strlen(data)); // 向文件中写入数据
if (bytesWritten == -1) {
perror("Failed to write to file"); // 如果写入文件失败,则输出错误信息
close(fd); // 关闭文件描述符
return 1;
}
printf("Bytes written: %zd\n", bytesWritten); // 输出成功写入的字节数
close(fd); // 关闭文件描述符
return 0;
}
20230811