您的位置:首页 > 编程语言 > C语言/C++

VC++ 判断文件夹是否存在,若不存在,创建新文件夹

2011-11-14 12:14 281 查看
1、使用#include <io.h> 中的_access函数_access(TempDir,0)==-1,参数0为检测是否存在

#<io.h>

int _access( constchar*path,intmode);



返回值: 0表示允许访问,-1表示禁止访问

注意:不能使用 FILE *fp=fopen(dirName, "r+w");来判断文件夹是否存在

可以判断文件是否存在,if(fp){//文件存在}else{//文件不存在}

mode value
00检测是否存在
02写权限
04读权限
06读写权限

2、_makedir(TempDir) 需要在TempDir中加入"\",方可创建

3、

代码如下:

头文件:FileOperater.h

#pragma once

class CFileOperater

{

public:

CFileOperater(void);

public:

~CFileOperater(void);

public:

bool CheckDir(const char * dirName);

};

//cpp文件FileOperater.cpp

#include "StdAfx.h"

#include "FileOperater.h"

#include<stdio.h>

#include <direct.h>

#include <stdlib.h>

#include <io.h>

CFileOperater::CFileOperater(void)

{

}

CFileOperater::~CFileOperater(void)

{

}

bool CFileOperater::CheckDir(const char * dirName)

{

//FILE *fp = NULL;

char TempDir[200];

memset(TempDir,'\0',sizeof(TempDir));

sprintf(TempDir,dirName);

strcat(TempDir,"\\");

if (_access(TempDir,0)==-1)//文件夹不存在

{

if(_mkdir(TempDir)==0)//创建

{

return true;

}

else

{

return false;//can not make a dir;

}

}

else

{

return true;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐