C言語:フォルダの有無をチェックして無ければ作成する

Cプログラミング C言語

動作確認

Windows10 + gccコンパイラ

プログラム例

c:\mytmp というフォルダの有無をチェックする。
 フォルダが存在しない → フォルダを作成する
 フォルダが存在する → すでに存在する旨のメッセージを表示する

checkFolder.c

#include <stdio.h>
#include <direct.h>
#include <sys/stat.h>

int main(void){
    char *checkDir = "c:\\mytmp";   /* チェックしたいフォルダ */
    struct stat st;

    /* フォルダの有無をチェックする */
    if(stat(checkDir, &st) != 0){
        /* フォルダが無い場合 */
        if( _mkdir(checkDir) == 0){ /* フォルダを作成 */
            printf("フォルダ %s を作成しました/n", checkDir);
        }
        else{
            printf("フォルダ %s が作成できません/n", checkDir);
        }
    }
    else{
        /* フォルダが有る場合 */
        printf("%s はすでに存在します\n", checkDir);
    }

    return 0;
}

利用している関数

機能関数戻り値必要ヘッダ
フォルダのチェックint stat(const char *path , struct stat *buf );フォルダが存在:0
存在しない:0以外
sys/stat.h
フォルダ作成int _mkdir( const char *dirname );正常終了:0
異常終了:-1
direct.h

コメント

タイトルとURLをコピーしました