在Linux中,cwrite()
是一个用于向文件描述符写入数据的系统调用
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
int main() {
int fd; // 文件描述符
const char *file_path = "/tmp/testfile.txt"; // 要写入的文件路径
const char *data = "Hello, World!"; // 要写入的数据
size_t data_len = strlen(data); // 数据长度
// 打开文件,如果文件不存在则创建它,并设置文件描述符
fd = open(file_path, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
if (fd == -1) {
perror("open");
return 1;
}
// 使用cwrite()将数据写入文件描述符
ssize_t bytes_written = cwrite(fd, data, data_len);
if (bytes_written == -1) {
perror("cwrite");
close(fd);
return 1;
}
// 关闭文件描述符
close(fd);
printf("Successfully wrote %zd bytes to %s\n", bytes_written, file_path);
return 0;
}
这个示例程序首先打开一个名为testfile.txt
的文件(如果不存在则创建它),然后使用cwrite()
将字符串Hello, World!
写入文件,最后关闭文件描述符。