本篇介紹 C++ 的 std::filesystem::exists 用法,並使用 std::filesystem::exists 來判斷檔案是否存在。
假設現在目錄下有 dir 資料夾、text.txt 文字檔、a.out 二進制執行檔,來看看這些範例的結果吧!
要使用 std::filesystem::exists 判斷檔案是否存在的話,需要引入的標頭檔: <filesystem>
各家編譯器還沒正式支援 C++17 前, 可能需要引入 <experimental/filesystem>
標頭檔
引入<filesystem>
標頭檔是使用 std::filesystem::exists
引入<experimental/filesystem>
標頭檔是使用 std::experimental::filesystem::exists
GCC:g++ 大概要 8 以上才有正式支援 C++17,編譯時要加入-lstdc++fs
選項。
Clang:Clang 5.0 應該已經支援。
Visual Studio: Visual Studio 2017 15.3 還是只能使用 std::experimental namespace。
使用範例
1 | // g++ std-filesystem-exists.cpp -o a.out -std=c++11 -lstdc++fs |
輸出結果:1
2
3
40
1
1
1
參考
std::filesystem::exists - cppreference.com
https://en.cppreference.com/w/cpp/filesystem/exists
其它相關文章推薦
C/C++ 新手入門教學懶人包
std::filesystem::create_directory 建立資料夾的用法與範例
std::filesystem::copy 複製檔案的用法與範例
C/C++ 判斷檔案是否存在
C/C++ 判斷資料夾是否存在