【问题标题】:Unable to execute a file in linuxlinux无法执行文件
【发布时间】:2021-09-26 10:45:19
【问题描述】:

我创建了一个正在使用fopen() 的程序。例如:-

int main() {
    FILE* check=NULL;
    check=fopen("C:\\Files\\open.txt","rb");
    if(check==NULL)
    {
        cout<<"Error";
    }
    else
    {
        //do something
    }
    
}

现在,在上面的程序中,Windows 路径可以正常工作,即"C:\\Files\\open.txt",但是当我尝试通过将路径更改为/mnt/c/Files/open.txt 在 wsl(linux) 中执行相同的程序时,出现错误。我不确定以这种方式设置路径是否是 linux 中fopen() 的标准程序。 请建议我解决这个错误。

【问题讨论】:

    标签: c++ linux windows-subsystem-for-linux fopen file-handling


    【解决方案1】:

    尝试将perror("fopen") 添加到主函数中,请分享输出。没有输出很难回答这个问题。

    我认为问题可能是: 您无权访问/mnt 或没有此类文件或该文件没有读取权限...等等。

    【讨论】:

    • 上面写着fopen: No such file or directory,但是当我使用ls 检查时文件就在那里。我是否错误地给出了路径?此外,在 Windows 中,它显示 fopen: No error
    • 注意linux区分大小写,所以files和Files不相等。
    • cat /mnt/c/Files/open.txt 怎么样?
    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 2012-09-13
    • 2016-08-22
    • 2022-08-06
    • 2020-02-11
    • 1970-01-01
    相关资源
    最近更新 更多