• Lv0
    粉丝0

积分4 / 贡献0

提问3答案被采纳0文章0

关于OpenHarmony4.0 Native C++ API10环境下 文件读写操作问题

shawn_king 显示全部楼层 发表于 2024-4-28 14:41:14

关于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权限。

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论3

深开鸿_王石

沙发 发表于 2024-4-28 18:19:52
正常hap能访问的文件是沙箱里的路径,你这么写的应该是设备路径吧?要是访问全机路径要不改selinux,要不关selinux,或者你就那app自己的路径

shawn_king

发表于 2024-4-29 13:50  IP属地: 江苏省扬州市

回复 深开鸿_王石: 感谢您的回复,selinux setenforce 0关闭尝试也无法创建并写入。
您说的沙箱路径 和 APP自己的路径是什么路径?

深开鸿_王石

发表于 2024-4-30 10:23  IP属地: - 中国江苏省无锡市 中国电信IDC

回复 shawn_king: 这个和selinux无关,沙箱是一种容器机制,namespace这样的。沙箱路径是可以获取的,https://gitee.com/openharmony/do ... e-to-app-sandbox.md , 看看这个文档

【2 条回复】

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部