c++ - excev() 帮助 : can I use "./program"?

标签 c++ linux exec

我一直在尝试使用 excev 来启动我制作的程序。我需要说一些类似 execv("./myprogram"); 的东西。但是,这不起作用。我试过 execv("myprogram");。 帮助任何人?

最佳答案

const char *path = "./myprogram";
const char *arg0 = path;

if (execl(path, arg0, (char *) NULL) == -1) {
    perror("execl");
}

试试吧。第一个参数是程序名,其余是命令行参数。第一个命令行参数传统上是程序的名称(在 shell 脚本中为 $0)。所以你实际上传递了程序名称两次。参数列表的末尾用 (char *) NULL 表示。

如果这不起作用,请确保当前目录是正确的。

关于c++ - excev() 帮助 : can I use "./program"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16062803/

相关文章:

linux - 跨多个操作系统在 VIM 中编译

c - 在队列上执行 tr 命令?

c++ - 我怎样才能从 FireBreath 回调到 JavaScript

linux - 为什么tomcat6在/var/lib/和/usr/share/都有文件夹?

linux - bash - 查找所有 .bashrc 文件并附加到它们

php - 这个 php exec() 的字符串与变量结果的解释是什么?

python - python中的异步执行

c++ - 结构指针数组的动态分配

c++ - 释放STL占用的空间

c++ - 解决 C++ 链接错误的最简单方法是什么