簡體   English   中英

Clion-為什么需要輸入完整路徑?

[英]Clion — why do I need to type the full path?

我正在用CS106L課程閱讀器編寫一個小游戲。 我使用Clion和Window。
我將level.txtmain.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();
    }
}

輸出是:
錯誤

我的項目的結構: 錯誤2

假定您調用Snake.exe時的當前工作目錄與包含level.txt的目錄level.txt 在命令行執行的程序從執行它們的外殼程序繼承它們的當前工作目錄。

正如Dan所言,相對路徑應相對於您的.exe文件位置。 如果從IDE構建和運行程序,則會在某些CLion目錄中創建.exe文件。 如果您想更好地控制.exe文件的位置,則可以將以下行添加到CMakeLists.txt中(我假設在add_executable之前)。

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "path_to_directory_of_your_exe")

為了方便使用相對路徑,有時我會這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM