system("command") string in string 问题

system("command") string in string problem

system("command") 有问题。 我想用一些参数启动 .exe"B0 P1" 无法编译,因为在命令字符串中使用了 ""。任何 solution/tips :)?

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

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

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")" );
}