如何使用正确的参数在 C 中调用 execl() ?

2023-11-26

我有 vlc(重现视频的程序) 如果我在 shell 中输入:

/home/vlc "/home/我的电影/我想看的电影.mkv"

它打开并再现电影。

但是,当我运行以下程序时:

#include <unistd.h>

int main(void) {

  execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);

  return 0;
}

vlc 打开但不重现任何内容。我该如何解决这个问题?

我尝试过的事情:

我猜的

execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);

相当于在 shell 中输入:

/home/vlc /home/my movies/the movie i want to see.mkv

这不起作用,所以我尝试了

 execl("/home/vlc", "\"/home/my movies/the movie i want to see.mkv\"",NULL);

vlc 打开但也不重现。

我没有在最后写 NULL,而是尝试了 0, (char*) 0, 1 .... 没有帮助。 帮助!!!!


execl("/home/vlc", 
  "/home/vlc", "/home/my movies/the movie i want to see.mkv", 
  (char*) NULL);

您需要指定所有参数,包括argv[0]这不是从可执行文件中获取的。

还要确保最终NULL被投射到char*.

详细信息在这里:http://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用正确的参数在 C 中调用 execl() ? 的相关文章

随机推荐

  • kafka ack=all 和 min-isr

    Summary Kafka 的文档和代码注释表明 当生产者设置acks被设定为all那么只有在以下情况下才会将 ack 发送给生产者 所有同步副本都已赶上 但是代码 Partition Scala checkEnoughReplicasRe
  • “[<-.data.frame”中出现 R 错误...替换有 # 项,需要 #

    我是 R 新手 这超出了我的能力范围 下面的脚本使用两个虚拟表 结果和计数 每个表都有两列 A 和 B 我正在运行排列测试来比较 A 和 B 的结果 具体来说 我正在查看 A 和 B 的结果 计数 结果和计数都有 20 行 并且我编写了一个
  • Clojure - 埃拉托斯特尼的尾递归筛

    我在 Clojure 中实现了埃拉托斯特尼筛法 defn sieve n loop last tried 2 sift range 2 inc n if or nil last tried gt last tried n sift let
  • Readlock 和 Writelock 会导致 writer 饥饿吗?

    在解决读者写入问题时 我尝试使用ReentrantReadWriteLock 我知道所有读者可以同时获取读锁 但是写锁必须等待所有读锁被释放 如果我们有很多读者 这是否会导致作者处于饥饿状态 ReentrantReadWriteLock 可
  • Eclipse 格式化程序可以配置为在括号之间正确缩进多行吗?

    可以配置 或扩展 Eclipse 格式化程序和代码清理来添加我在以下示例中期望的缩进 public static void main String args String numbers new String one two three f
  • Android EditText 内存泄漏

    很多人注意到活动中的 EditText 即使在活动完成后也持有对活动的强引用 需要明确的是 此 EditText 位于布局内并已膨胀 因此没有设置侦听器 这仅发生在某些设备上 例如三星 Galaxy S4 Android 4 2 2 等 许
  • 通过 PhantomJS 调用时找不到模块“casper”

    我在 C xampp htdocs phantom 中安装了 PhantomJS 并且在该文件夹 C xampp htdocs casper 中安装了 CasperJS 当我尝试使用 casper 站点上运行这些示例代码时phantomjs
  • 如何检查存储函数中INSERT是否顺利?

    我正在创建一个存储函数 它应该将新行插入到表中 该表中还有一个独特的列 我如何检查一切是否顺利并且行确实已插入 如何准确检查是否找到了这个唯一的列 例如 尝试添加重复值 您可以检查 LAST INSERT ID 函数和 INSERT IGN
  • 在 SQL 中将 IN 更改为 EXISTS

    我有以下查询 select A B from table1 where A in select c from table 2 但是 现在我需要更改此查询并使用exists代替in 并且应该给出相同的结果 我的表格如下所示 table1 ta
  • 如何将使用 enquo() 创建的动态变量名称传递给 dplyr 的 mutate 进行评估?

    我正在创建一个工作流程 其中包含相同的管道步骤 重命名 选择依据 然后使用我在管道之前提供的名称来更改所有内容 我已经成功使用enquo and bang bang 重命名为我想要的字符串 然后再次选择它 但是当我到达变异步骤时 它要么重复
  • 如何让 Valgrind 显示行错误?

    如何让 Valgrind 准确显示错误发生的位置 我编译了我的程序 通过 PuTTy 在 Linux 终端上的 Windows 机器上 添加了 g 调试选项 当我运行 Valgrind 时 我得到泄漏和堆摘要 并且我肯定丢失了内存 但我从未
  • 为什么 Perl open() 文档使用两种不同的 FILEHANDLE 样式?

    The open 函数的文档显示语法open as 打开文件句柄 EXPR 打开文件句柄 模式 表达式 打开文件句柄 模式 表达式 列表 打开文件句柄 模式 参考 打开文件句柄 在下面的示例中 有一些地方使用普通的 前缀变量作为文件句柄 o
  • 如何将 SQL 子查询转换为联接

    我有两个具有 1 n 关系的表 内容 和 版本内容数据 例如 文章实体和该文章创建的所有版本 我想创建一个显示每个 内容 的顶级版本的视图 我使用这个查询 带有一个简单的子查询 SELECT t1 id t1 title t1 conten
  • IE 的默认 CSS 值 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在开发一个 Web 应用程序 但它对 Firefox 不太友好 设计是在我加入公司之前 2 年完成的 我遇到了一些 CSS 问题 并且无法使用
  • 如何在 d3.js 中查找点是否在多边形内部

    我知道有手动方法可以做到这一点 请参阅多边形中的点 但是在 d3 js 中是否有一种本地方法可以确定一个点是否在多边形内部 Update 这现在是一部分d3 多边形 d3 polygonContains polygon point
  • 什么会在 C 中产生词法错误?

    除了不关闭评论之外 什么构成 C 中的词法错误 这里有一些 abc
  • 检查用户名可用性

    我有一个用户登录表单 我想在 user field 失去焦点之后立即检查数据库中是否有用户名 我可以使用 javascript 覆盖表单上的此事件 但无法从 javascipt 代码发送 Ruby AJAX 请求 有没有什么方法可以检查用户
  • 如何从数组动态创建 JavaScript 变量?

    假设我有一个变量名称数组 var varNames new Array name1 name2 name3 我如何创建var name1 var name2 and var name3只需循环遍历varNames array 这将创建全局变
  • 有什么命令可以让我了解 Hbase 中表的大小吗?

    有什么命令可以让我了解 Hbase 中表的大小吗 我使用 Hbase 保存来自 Nutch 的爬网数据 如果您在 hadoop 上运行 hbase 可以使用以下命令 hadoop fs du path path 必须替换为hbase roo
  • 如何使用正确的参数在 C 中调用 execl() ?

    我有 vlc 重现视频的程序 如果我在 shell 中输入 home vlc home 我的电影 我想看的电影 mkv 它打开并再现电影 但是 当我运行以下程序时 include