【发布时间】:2017-12-27 12:01:04
【问题描述】:
我试图在 Visual Studio 的调试会话期间将命令行参数 <(单尖括号,不带引号)传递给 C++ 程序。如Project settings for a C++ debug configuration 中所述,< 作为重定向运算符具有特殊含义,但并未指定如何对其进行转义。我试过使用"<" 和^<,但它们都没有做我想要的。使用 "<" 参数从命令行调用命令按预期工作。
所以看起来调试命令参数首先被预处理。有什么方法可以让字符从这个预处理中逃脱?
【问题讨论】:
-
请给出您想要使用的完整命令行(“
-
<之所以有效,是因为它不是参数,而是重定向运算符。它实际上不会将参数传递给您的可执行文件。正如我在问题中所说,我想传递一个参数 -<字符串。 -
正如我所说:它对我有用。当我输入“
-
对不起,我的错。我想通了,看看我的答案。谢谢!
-
对于那些被搜索引擎带到这里的人,我认为这里有一个真正的问题:code.visualstudio.com/docs/cpp/launch-json-reference 说“如果您要转义字符,则需要双重转义它们。例如, ["{\\\"arg1\\\": true}"] 会将 {"arg1": true} 发送到您的应用程序。”但请注意,它的示例要么是三次转义(我没有尝试过),要么是反斜杠和引号的单次转义。单、双或三重转义都不适合我。
标签: c++ visual-studio debugging command-line