传递\ C ++的命令行参数

时间:2017-03-14 23:14:41

标签: c++ regex command-line-arguments

我正在开发一个C ++程序,其中一个命令行参数需要传递一个正则表达式。例如:abc.exe --option ab\[0\]

当我从程序内部访问选项值时,它变为ab\\[0\\],它变成了一个不同的正则表达式。 当我尝试使用\\[\[替换为boost::replace_all时,程序内部的结果为[,这也不是我的预期输出。

那么,关于如何通过命令行参数传递和保留\[的任何建议

2 个答案:

答案 0 :(得分:3)

您可以引用参数:

abc.exe --option "ab\[0\]"

或者使用shell转义序列:

abc.exe --option ab\\[0\\]

你试过这些吗?

答案 1 :(得分:0)

视觉工作室如何显示符号是一个问题。当我查看符号的ASCII码时,它没问题。感谢@ScottK帮助我通过您的评论进行调试