如何将包含空格字符的命令行参数传递给我的 C++ 程序?

Dra*_*ain 0 c++ whitespace dev-c++ argv argc

我们可以通过argvC++ 中的代码访问命令行参数,我知道。

但问题是,如果一个参数包含空格,那么我的程序就像有两个参数一样工作。

例如,如果参数是foo bar,我的程序会看到两个参数(foobar)。

这是我的代码:

string strParameter = string(argv[1]);

所以我该怎么做?

Hol*_*Cat 5

这是由您的 shell 决定的,而不是您的程序。在大多数 shell 中,您可以通过将参数括在单引号和/或双引号中来解决此问题:

  • "foo bar"
  • 'foo bar'

或在空格前放置一个特殊符号:

  • foo\ bar
  • foo^ bar 在 CMD 中(在 Windows 上)

  • 第一个“foo bar”在 Windows、Mac 和 Linux 上通用。 (3认同)