【发布时间】:2021-09-03 11:04:18
【问题描述】:
当我在 Visual Studio Code 中编写文件名为 Hello World.cpp 的 C++ 程序时,我遇到了一些错误:
#include<iostream>
using namespace std;
int main()
{
cout<<"Hello World!!!"<<endl;
return 0;
}
输出:
g++.exe: error: Hello: No such file or directory
g++.exe: error: World.cpp: No such file or directory
g++.exe: error: World: No such file or directory
g++.exe: fatal error: no input files
compilation terminated.
但是当我像HelloWorld.cpp 那样重命名没有空格的文件时,我没有收到任何类型的错误。我使用最新更新的 Visual Studio Code 和 MingW 编译器。
但我想使用带空格的文件名。我该如何解决这个问题?
【问题讨论】:
-
用引号将文件名括起来
-
如您在屏幕截图中所见,编译器命令类似于
g++ Hello World.cpp,因此它将搜索名为Hello和World.cpp的两个 文件。正如您所说,最简单的解决方案是使用不带空格的文件名。 “正确”的解决方案需要编辑编译器命令 -
根据经验 - 大多数工具和实用程序都可以处理文件和路径名中的空格。但是,默认情况下,大多数工具和实用程序不处理文件和路径名中的空格。因此,除非您喜欢配置构建工具,否则请避免路径和文件名中的空格。
-
如果您决定在名称中使用空格,并且不想配置构建工具,请将空格 (U+0020) 替换为不间断空格 (U +00A0)。