【发布时间】:2019-11-27 17:54:38
【问题描述】:
我正在尝试在 C 中执行命令“echo”。
我希望将命令“echo”之后的整个句子读入命令行中的 argv[1],而不是将每个单词作为单独的参数传递。
这在 C 中可能吗?
【问题讨论】:
-
这与C语言无关。 shell 创建参数列表。换句话说,不是不可能。
-
您可以使用循环并使用 strncat 系统调用将它们收集到一个字符串中。
-
或者你可以像
myecho "hello world"这样调用你的程序,然后"hello world"将被shell视为一个参数,在你的C程序中argv[1]将指向"hello world"。但这又是一个空壳。 -
所以如果参数在“...”之间,它被认为是单个参数?
-
@ShiviBarlev 是的,但这与 C 无关,shell 正在这样做。