【问题标题】:system("command") string in string problemsystem("command") 字符串中的字符串问题
【发布时间】:2019-09-09 18:24:49
【问题描述】:

system("command") 有问题。 我想用一些参数启动 .exe,但由于在命令字符串中使用了"""B0 P1" 无法编译。任何解决方案/提示:)?

int main() {
    system ("start C:\\PROGRA~2\\BEL\\Realterm\\realterm.exe FIRST=1 SENDSTR= "B0 P3" ");
}

【问题讨论】:

  • 你试过逃避它们吗?你怎么不逃避反斜杠?
  • 您可以使用反斜杠转义字符串中的引号。

标签: c++ command system


【解决方案1】:

你需要在你的字符串中转义引号字符:

int main() {
    system ("start C:\\PROGRA~2\\BEL\\Realterm\\realterm.exe FIRST=1 SENDSTR= \"B0 P3\" ");
}

在 c++ 11 中,如果您不想转义字符,也可以使用字符串文字 R"(...)":

int main() {
    system ( R"(start C:\PROGRA~2\BEL\Realterm\realterm.exe FIRST=1 SENDSTR= "B0 P3")" );
}

【讨论】:

    猜你喜欢
    • 2010-12-07
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    相关资源
    最近更新 更多