温馨提示×

linux cwrite如何设置写入权限

小樊
81
2024-12-29 08:43:19
栏目: 智能运维

在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_IRUSRS_IWUSR标志设置文件的读取和写入权限。这样,只有文件的所有者(通常是创建文件的用户)才能读取和写入该文件。

注意:在实际应用中,你可能需要检查open()函数的返回值以确保文件已成功打开。此外,你还可以使用chmod()函数在程序运行时更改文件权限。

0