我正在编写一个来自 CS106L 类(class)阅读器的小游戏。我使用 Clion 和 Window。
我把 level.txt
放在了 main.cpp
等的直接位置。但是为什么我需要输入全名来读取文件而不是只输入 level .txt
?
核心代码为:
```c
void readCorrectFile(ifstream& input) {
// Read the user's prompt until user prompt the right file.
while (true) {
cout << "Enter the file name: ";
string filename;
getline(cin, filename);
// Find if it's a valid name
input.open(filename.c_str());
if (input.is_open()) {
return;
}
// Show info about read file.
cout << "Sorry, we cannot find: " << filename << endl;
input.clear();
}
}
最佳答案
假设调用 Snake.exe
时您的当前工作目录与包含 level.txt
的目录不同。在命令行执行的程序从执行它们的 shell 继承它们当前的工作目录。
关于c++ - Clion——为什么我需要输入完整路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41435137/