检查文件夹是否存在,不存在则创建

_access 函数详解

转至:http://hi.baidu.com/xukong/blog/item/45cbd72ae5291996023bf675.html

#<io.h>

int _access( constchar*path,intmode);

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


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

读写权限

例程:

int main()

{

if(_access("abc.txt",2)!=-1) // 判断文件是否可写;

printf("文件允许操作!\n");

else

printf("文件只读!\n");

}

=========================================================================================================

VC中创建文件夹的简单方法

转至http://www.programbbs.com/doc/2943.htm

在创建多级文件夹时用 API CreateDirectory一级一级创建文件夹的方法很是麻烦,现在用SHCreateDirectoryEx一条语句就搞定下面是一个简单的示例:


#include<windows.h>

//注意这里一定要加shlobj.h
#include<shlobj.h>                                                          

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
 SHCreateDirectoryEx(NULL,"d:\\test\\program\\folder", NULL);
 return 0;
}

同时在链结的时候要加入shell32.lib,该函数各个参数具体的含义可以参考一下MSDN。


由上面的方法就可以实现检查文件夹是否存在,不存在就创建

CString strpath("C:\WINDOWS\...\");

if   ( _access(strpath,00) == 0 )

    {

        MessageBox("文件夹存在");

    }

    else

    {

        //MessageBox("文件夹不存在");

        ret = SHCreateDirectoryEx(NULL,strpath, NULL);//#include<shlobj.h>  shell32.lib

        if (ERROR_SUCCESS== ret)

        {

            //创建成功

            //…………………

        }

 

        //MakeSureDirectoryPathExists(strpath); //#include <imagehlp.h> imagehlp.lib

    }

使用SHCreateDirectoryEx或MakeSureDirectoryPathExists都可以直接创建文件夹,而且可以跨多级目录,不用一级一级创建,调用时包含对应的库和头文件即可

我自己试了一下,调用MakeSureDirectoryPathExists创建文件夹时,文件夹路径需要以“\”结尾,不然最后一级文件夹不创建。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值