V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ihaveabigdoor
V2EX  ›  程序员

Windows 下 permission denied 的问题

  •  
  •   ihaveabigdoor · 2021-07-05 09:52:10 +08:00 via Android · 1656 次点击
    这是一个创建于 1229 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个普通的 fopen 问题,用 string 的 c_str()做第一个参数传进去就是不成功一直获取到 permission denied,直接把地址“c:/abc/uyhb.jpg”这样就能成功,在网上搜了一段时间没找到合适的解决办法,新入职一个月上周一个 bug 没改成,还望大佬们指点指点
    第 1 条附言  ·  2021-07-05 11:13:29 +08:00
    现在已经找到问题原因了,是当初导入图片的时候会用 copyfileA 在另一个临时文件夹中创建副本,而我刚查看图片副本是只有只读权限
    6 条回复    2021-07-05 11:11:17 +08:00
    wms
        1
    wms  
       2021-07-05 10:11:58 +08:00
    windows 的路径好像是双字节的
    AoEiuV020
        2
    AoEiuV020  
       2021-07-05 10:12:50 +08:00
    把 c_str()返回值打印出来检查一下?
    还是没发现问题的话建议写一段最小复现问题的 demo 出来看看,
    ihaveabigdoor
        3
    ihaveabigdoor  
    OP
       2021-07-05 10:23:10 +08:00 via Android
    @wms 纯英文的也会有影响吗?如果是这样的话我需要加一个 TEXT 转换?是这样吗
    ihaveabigdoor
        4
    ihaveabigdoor  
    OP
       2021-07-05 10:24:49 +08:00 via Android
    @AoEiuV020 主要 log 打印出来对比是一样,他是读完图片后会在临时文件夹创建新的,我在 log 里直接复制上一次打印出来的路径再 fopen 就成功了
    ripperdev
        5
    ripperdev  
       2021-07-05 10:56:57 +08:00
    ihaveabigdoor
        6
    ihaveabigdoor  
    OP
       2021-07-05 11:11:17 +08:00 via Android
    @ripperdev 还是不行,但谢谢老哥,现在我觉得应该就是创建文件的时候使用的 copyfileA 函数创建出来的文件没有写权限
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4198 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:08 · PVG 12:08 · LAX 20:08 · JFK 23:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.