c++ - Clion——为什么我需要输入完整路径?

标签 c++

我正在编写一个来自 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();
    }
}

``` 输出是:
error

我的项目结构: error2

最佳答案

假设调用 Snake.exe 时您的当前工​​作目录与包含 level.txt 的目录不同。在命令行执行的程序从执行它们的 shell 继承它们当前的工作目录。

关于c++ - Clion——为什么我需要输入完整路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41435137/

相关文章:

c++ - <未解析的重载函数类型> 调用二元谓词

C++ 将二维数据库保存到文件中 ISSUE

c++ - 调整大小后,Central Widget 占用空间大,Dock Widget 占用空间小

c++ - weak_ptr 重置会影响 shared_ptr 吗?

c++ - Azure IoT SDK C 设置 macOS (Mac OS X) 开发环境

c# - 图节点坐标评估

c++ - 访问冲突 : 0xC0000005, 为什么会发生这种情况?

c++ - 如何标记@ref 引用的结尾?

c++ - 3.9.1 基本类型

模板化参数的 C++ 静态求值