如何在c++;在Linux中? 我试图在C++代码中运行一个可执行文件。它编译并运行,但会显示一条消息“权限被拒绝”。同样的代码也适用于windows,我只是使用了适当的文件路径

如何在c++;在Linux中? 我试图在C++代码中运行一个可执行文件。它编译并运行,但会显示一条消息“权限被拒绝”。同样的代码也适用于windows,我只是使用了适当的文件路径,c++,linux,C++,Linux,这是我正在使用的代码 FILE *fp = popen("/home/Int_Outputs/bin/Debug","r"); if (fp == NULL){ std::cout <<"Popen is null" << std::endl; } char buff[50]; fgets(buff,sizeof(buff),fp); std::cout << buff; } return 0; } FILE*fp=popen(“/home/Int\u O

这是我正在使用的代码

FILE *fp = popen("/home/Int_Outputs/bin/Debug","r");
if (fp == NULL){
std::cout <<"Popen is null" << std::endl;
}
char buff[50];
fgets(buff,sizeof(buff),fp);
std::cout << buff;
}
return 0;
} 
FILE*fp=popen(“/home/Int\u Outputs/bin/Debug”,“r”);
如果(fp==NULL){

std::cout该文件的POSIX权限是什么? 要找到答案,请打开端子外壳并执行以下操作:

$ ls -l /home/Int_Outputs/bin/Debug

您必须确保应用程序运行时使用的UID/GID具有读取文件“/home/Int_Outputs/bin/Debug”的权限

但是我怎么做呢,我去了项目的可执行文件的属性,这是显示的路径首先,打开控制台类型:
cd/home/Int\u Outputs/bin
,然后
sudo chmod u+r Debug
。如果这没有改变,解释什么不起作用。好的,我可以通过doin从终端运行它g.“/Int_Outputs”@user5231043:真的吗?问题意味着
Int_Outputs
是一个目录,应用程序名为
Debug
。好吧,别介意我刚才看到了我的错误,我在“Debug”之后缺少了“Int_Outputs”,因为那是可执行文件,Debug只是文件夹。