簡體   English   中英

為什么 fstream 在可執行位置創建文件?

[英]Why does fstream create a file in the executable location?

我正在 fstream 中制作 C++ 程序,我注意到我的程序在可執行文件所在的位置創建了一個文件。

我制作了 2 個文件夾,bin 和 src。 src 有 main.cpp:

#include <fstream>

int main()
{
    std::fstream file("first_file_with_fstream.txt");
    
    file << "Hello, World of fstream!\n";

    return 0; 

}

我編譯它:

g++ -o 運行 main.cpp

當我在目錄 src.

編譯無誤后,我將 run.exe 移至 bin。

然后我執行 run.exe 並沒有按預期在 src 中找到其他文件。 然后我發現該文件在bin中。

請解釋為什么會這樣!

謝謝!

為什么 fstream 在可執行位置創建文件?

您使用了相對路徑名。 您的操作系統將相對路徑解釋為相對於“當前工作目錄”(或類似目錄)。 如果當前工作目錄是bin ,那么您將打開文件bin/first_file_with_fstream.txt

暫無
暫無

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

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