WindowsでOpenCVを利用していると保存先のフォルダがないとcv::imwriteで保存してくれない。
そこで、フォルダの有無をチェックして、無ければフォルダを生成するクラスを実装しよう。
今回も、静的メンバ関数。
check_the_folder.h
#ifndef CHECK_THE_FOLDER_H_ #define CHECK_THE_FOLDER_H_ #include <string> #include <direct.h> class CheckTheFolder { public: CheckTheFolder(void){} virtual ~CheckTheFolder(void){} static bool checkExistenceOfFolder(const std::string folder_name) { if( _mkdir( folder_name.c_str() ) == 0 ){ return true; } else { return false; } } }; #endif // CHECK_THE_FOLDER_H_
main.cpp
#include "check_the_folder.h" int main(){ CheckTheFolder::checkExistenceOfFolder("C:\\てすと\\test"); return 0; }
結果はフォルダが生成されるだけです。
一応フォルダが存在した場合にfalseを返すようになっています。
そもそもクラスにする必要があるのかというくらい短いソースコード。
他に機能を追加すれば利用価値があるかもね。