当我在Linux中执行C程序时,为什么会出现错误“bash:./a.out:Permission denied”15

时间:2013-08-12 13:33:15

标签: c linux

我在C中编写用户ls命令代码。当我使用cc lss.c编译此代码时,会创建一个a.out文件,然后使用./a.out运行,我收到了一个错误。

我的lss.c

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    char cmdline[100];
    if ( argc > 2 )
    {
        printf(cmdline, "ls %s %s", argv[1], argv[2]);
        system(cmdline);
    }
    return 0;
}

当我编译并运行时,会发生这种情况:

$ cd "/media/dilip/New Volume1/c"
$ cc lss.c
$ ./a.out
bash: ./a.out: Permission denied
$

此错误的原因是什么?

2 个答案:

答案 0 :(得分:5)

我认为,您尝试在NTFS分区上运行程序,与安装Mint的程序不同。尝试在ext4分区中编译程序并在那里生成a.out。它应该运行。

答案 1 :(得分:0)

在安装linux的卷上编译并运行它。