本記事では、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++に関する記事を執筆中ですのでぜひ参考にしてみてください。