在Linux系统中,cwrite()
函数用于向文件描述符写入数据
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
int main() {
int fd;
const char *file_path = "/tmp/testfile.txt";
const char *data = "Hello, World!";
size_t data_size = strlen(data);
// 打开文件,如果文件不存在则创建,并设置相应的权限
fd = open(file_path, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR);
if (fd == -1) {
perror("open");
exit(EXIT_FAILURE);
}
// 将数据写入文件
ssize_t bytes_written = write(fd, data, data_size);
if (bytes_written != data_size) {
perror("write");
close(fd);
exit(EXIT_FAILURE);
}
// 关闭文件描述符
close(fd);
printf("Data written to file: %s\n", file_path);
return 0;
}
在这个示例中,我们使用open()
函数打开或创建一个名为testfile.txt
的文件,并使用S_IRUSR
和S_IWUSR
标志设置文件的读取和写入权限。这样,只有文件的所有者(通常是创建文件的用户)才能读取和写入该文件。
注意:在实际应用中,你可能需要检查open()
函数的返回值以确保文件已成功打开。此外,你还可以使用chmod()
函数在程序运行时更改文件权限。