format_list_bulleted
【C++】C++でのフォルダ(ディレクトリ)作成の方法について解説
最終更新日時:2022-02-22 04:46:55



本記事では、C++を用いたフォルダ作成について説明します.また,ファイルの読み込みについては「C++でファイルの読み込みを行う方法(std::fstream)について紹介」を,ファイルの書き込みについては「C++でファイルの作成、書き込みをする方法(std::fstream)について解説」で扱っていますので参考にしてください。

sys/stat.h

フォルダ作成はsys/stat.hを用いて行います.ちなみに、direct.hでもフォルダの作成は可能ですが、コンパイラによって使えない場合があるので、こちらのsys/stat.hを使ってみてください.

#include <sys/stat.h>

使用方法

それでは、サンプルコードを用いて、フォルダの作成方法について解説します.

サンプルコード

タイトル:makefolder.cpp

#include <iostream>
#include <string>
#include <sys/stat.h>
using namespace std;

int main(int argc, char *argv[])
{
    string folder_name = ("./new_folder");

    if(mkdir(folder_name.c_str(), 0777)==0){
        printf("フォルダ作成に成功しました。\n");
    }else{
        printf("フォルダ作成に失敗しました。\n");
    }
}

サンプルコードの解説

string folder_name = ("./new_folder");

まず、作成するフォルダの名前を宣言します.

mkdir(folder_name.c_str(), 0777);

次に、フォルダを作成します.このmkdir関数を用いて、フォルダを作成し、成功したら0、失敗したら-1が返ります.mkdir関数は以下のような形で指定します.ここで、作成する場所はchar型で指定する必要があるので、サンプルコードではstring型からchar型に変換しています.また、権限の部分は、0777とすることで、読み込み、書き込みなどの権限を持つことが可能です.

int mkdir(const char *path_name(作成する場所), mode_t mode(権限));

実行結果

実行結果は、ターミナル(コマンドライン)に以下のような文字が出力されれば成功です.

フォルダ作成に成功しました。

また、ディレクトリは以下のようにnew_folderというフォルダが作成できていれば成功です.

├ makefolder.cpp
├ makefolder
└ new_folder/

まとめ

本記事ではC++でフォルダの作成方法について解説しました。最後に内容をまとめます。

  • sys/stat.hのライブラリのmkdir関数を用いることで、フォルダ作成が可能

Code DatabaseではC++に関する記事を執筆中ですのでぜひ参考にしてみてください。