【问题标题】:How can I execute cat command using execvp or other kinds of exec functions in programming C如何在 C 编程中使用 execvp 或其他类型的 exec 函数执行 cat 命令
【发布时间】:2015-12-26 04:21:21
【问题描述】:

我有一个问题需要解决。我有一个字符串数组,如: argv[]={"cat","file1.txt","file2.txt"},然后我需要使用 execvp 来执行 execvp(argv[0],argv),但我觉得为什么它在我的程序中不起作用。我不确定我是否可以使用这样的 execvp() 函数,有人可以告诉我如何使用 execvp() 或其他类型的 exec() 函数在 UNIX 或 Linus 系统中运行 cat 命令(使用编程 C)?

【问题讨论】:

  • 在终端中使用man 命令。例如,运行 man execvp 以获取相关 exec 函数的列表。

标签: c unix exec execvp


【解决方案1】:

数组必须以0结尾:

char *argv[] = {"cat", "file1.txt", "file2.txt", 0};

execvp 就是这样知道参数的结尾在哪里,因为 C 不会将数组的长度传递给函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-16
    • 1970-01-01
    • 2022-01-11
    • 2019-11-06
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    相关资源
    最近更新 更多