OpenHarmony开发者论坛

标题: 关于OpenHarmony4.0 Native C++ API10环境下 文件读写操作问题 [打印本页]

作者: shawn_king    时间: 2024-4-28 14:41
标题: 关于OpenHarmony4.0 Native C++ API10环境下 文件读写操作问题
[md]关于OpenHarmony4.0  Native C++ API10环境下 文件读写操作问题

使用OpenHarmony4.0 Native C++ API10环境下,

```
  分别尝试 fopen / open 都无法创建文件 写入文件
    FILE * pf = fopen("/data/app/el1/bundle/public/111.txt", "a+");
    if(pf)
    {
        char buf[20] = {0x31, 0x32, 0x33, 0x34, 0x00, 0x00};
        fwrite(buf, 1, 5, pf);
        fclose(pf);
        pf = nullptr;
    } else {
        char val[32] = {"fopen failed."};
    }

    int fd = open("/data/local/tmp/1.txt", O_WRONLY|O_CREAT, 0644);
    if(fd != -1) {
        write(fd, "hello", 5);
        close(fd);
    }

module.json5已经配置了ohos.permission.WRITE_MEDIA、ohos.permission.WRITE_USER_STORAGE权限。
```
[/md]
作者: 深开鸿_王石    时间: 2024-4-28 18:19
正常hap能访问的文件是沙箱里的路径,你这么写的应该是设备路径吧?要是访问全机路径要不改selinux,要不关selinux,或者你就那app自己的路径
作者: shawn_king    时间: 2024-4-29 13:50
回复 深开鸿_王石: 感谢您的回复,selinux setenforce 0关闭尝试也无法创建并写入。
您说的沙箱路径 和 APP自己的路径是什么路径?
作者: 深开鸿_王石    时间: 2024-4-30 10:23
回复 shawn_king: 这个和selinux无关,沙箱是一种容器机制,namespace这样的。沙箱路径是可以获取的,https://gitee.com/openharmony/do ... e-to-app-sandbox.md , 看看这个文档




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5