std::filesystem::create_directory 建立資料夾的用法與範例

本篇介紹 C++ 的 std::filesystem::create_directory 用法,並使用 std::filesystem::create_directory 來建立資料夾。

要使用 std::filesystem::create_directory 建立資料夾的話,需要引入的標頭檔: <filesystem>
各家編譯器還沒正式支援 C++17 前, 可能需要引入 <experimental/filesystem> 標頭檔
引入<filesystem>標頭檔是使用 std::filesystem::create_directory
引入<experimental/filesystem>標頭檔是使用 std::experimental::filesystem::create_directory
GCC:g++ 大概要 8 以上才有正式支援 C++17,編譯時要加入-lstdc++fs選項。
Clang:Clang 5.0 應該已經支援。
Visual Studio: Visual Studio 2017 15.3 還是只能使用 std::experimental namespace。

使用範例

在本範例中呼叫create_directory後,指名要建立一個 hello 的資料夾,
如果目錄下沒有 hello 資料夾就會建立一個 hello 的 資料夾,並且回傳 true,
如果目錄下有 hello 資料夾則回傳 false。

std-filesystem-create_directory.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
// g++ std-filesystem-create_directory.cpp -o a.out -std=c++11 -lstdc++fs
#include <iostream>
#include <experimental/filesystem>
//#include <filesystem> // C++ 17

using namespace std;
namespace fs = std::experimental::filesystem;

int main() {
cout << "create hello directory" << endl;
cout << fs::create_directory("hello") << endl;
return 0;
}

輸出結果如下,該目錄下沒有 hello 資料夾且成功建立 hello 資料夾,

1
2
create hello directory
1

參考
std::filesystem::create_directory, std::filesystem::create_directories - cppreference.com
https://en.cppreference.com/w/cpp/filesystem/create_directory

其它相關文章推薦
C/C++ 新手入門教學懶人包
std::filesystem::exists 判斷檔案是否存在的用法與範例
std::filesystem::copy 複製檔案的用法與範例
C/C++ 判斷檔案是否存在
C/C++ 判斷資料夾是否存在