【问题标题】:How to get argument from argv with spaces?如何从带有空格的 argv 获取参数?
【发布时间】:2023-01-22 20:36:09
【问题描述】:

我想编写可以获取字符串作为参数的程序。但是如果我试图从 argv 获取它,像 "Hell o w o r l d" 这样的字符串将丢失所有空格。有没有办法获取每两个参数之间的空格数,或者更好的方法是获取 argv 作为字符串?

【问题讨论】:

  • 你好吗开始你的程序?如果里面有空格任何一个命令行参数,它们将在传递给程序时被保留。但是空格通常是用来分隔的分隔符分离在传递给程序之前由命令 shell 解析的参数。
  • 这就是为什么有些程序使用双 --option_xyz= 这样的标记,这样它们就可以用空格重建字符串。还有一些允许您传递带有引号中的空格的字符串。只需选择一种机制并将其记录下来

标签: c++ command-line-arguments


【解决方案1】:

保留原始字符串中空格的一种方法是在将字符串作为参数传递时将其放在引号中。例如,如果您想将字符串“Hello world”作为参数传递,您可以像这样运行程序:

./file "Hello World"

然后,在您的程序中,您可以使用 argv[1] 访问原始字符串,包括空格。

【讨论】:

    猜你喜欢
    • 2020-07-11
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-23
    相关资源
    最近更新 更多