我的可执行文件路径是:
C:\Users\FirstName LastName\Desktop\Saturated.exe
我的程序是:
while (s != "Exit")
{
cin >> s;
system (s.c_str());
}
其中 s 是字符串。
我试着写:
C:\\Users\\FirstName LastName\\Desktop\\Saturated.exe
\"C:\\Users\\FirstName LastName\\Desktop\\Saturated.exe\"
C:/Users/FirstName LastName/Desktop/Saturated.exe
但是由于 FirstName
和 LastName
之间的空格,这些都不起作用。我该怎么办?
最佳答案
如果您使用命令行参数输入字符串,您的操作系统会正确解析它。如果你想在运行程序时输入路径,最好的机会是使用 std::getline
,无论如何你都会读取整行,不需要 "
.
或者,如果您想实现相同的解析行为,您将检查第一个字符是否为 "
(使用 cin.peek()
),如果是在这种情况下,您将 cin.ignore()
和 std::getline
直到另一个 "
,否则您将只是 cin >> s;
.
关于C++ Windows 系统 ("path") 如果某处有空间则不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34251266/