我目前正在尝试在 Visual Studio Community 2017 中为基于 CMake 的项目设置调试启动参数。通常这可以通过 launch.vs.json 文件完成。但是,我需要传递的参数中包含空格。例如,下面的 launch.vs.json 文件应将 argumentmnts FIRST ARGUMENT 和 SECOND ARGUMENT 作为第一个和第二个参数传递。然而,程序最终得到 4 个参数:FIRST、ARGUMENT、SECOND 和 ARGUMENT。我尝试了各种不同的空格编码,但无法在结果参数中正确编码空格。这是特别有问题的,因为我的程序的参数之一是 C:\Program Files 内的路径。因此,该路径被分成 2 个独立的参数,而不是应有的一个。如何让 Visual Studio 在参数中允许空格?
作为参考,使用此命令通过命令行启动可以按预期工作:
argtest.exe "FIRST ARGUMENT" "SECOND ARGUMENT"
Run Code Online (Sandbox Code Playgroud)
启动.vs.json
{
"version": "0.2.1",
"defaults": {},
"configurations": [
{
"type": "default",
"project": "CMakeLists.txt",
"projectTarget": "argtest.exe",
"name": "argtest.exe",
"args": ["FIRST ARGUMENT", "SECOND ARGUMENT"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
测试.c
#include <stdio.h>
int main(int argc, char ** argv) {
int i;
for (i = 0; i < …Run Code Online (Sandbox Code Playgroud)