C++ Windows 系统 ("path") 如果某处有空间则不工作

标签 c++ windows file path system

我的可执行文件路径是:

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

但是由于 FirstNameLastName 之间的空格,这些都不起作用。我该怎么办?

最佳答案

如果您使用命令行参数输入字符串,您的操作系统会正确解析它。如果你想在运行程序时输入路径,最好的机会是使用 std::getline,无论如何你都会读取整行,不需要 ".

或者,如果您想实现相同的解析行为,您将检查第一个字符是否为 "(使用 cin.peek()),如果是在这种情况下,您将 cin.ignore()std::getline 直到另一个 ",否则您将只是 cin >> s;.

关于C++ Windows 系统 ("path") 如果某处有空间则不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34251266/

相关文章:

c++ - 在 VS 2008 上启动 OpenCV 2.4.6 时出现 fatal error ,找不到文件

c - 如何检查文件是否已被 C 中的另一个进程打开?

python - 在 Python 中的文本文件的特定行中附加数据?

java - 每次点击按钮读取每 5 行

c++ - 将指针转换为shared_ptr

c++ - 在 C++ 中从字符串计算算术表达式

c++ - 将字符数组中的字符连接成一个整数

windows - windows下如何像静态库一样发布代码

windows - 如何在批处理文件中用空格分隔嵌入空格的双引号字符串?

java - 我需要从 txt 文件上的 1000 个数字的列表创建一个数组列表。 java