C/C++创建目录函数,支持windows和linux
2012-12-25 09:49
387 查看
最近因为项目原因,需要写一个根据路径字符串创建目录的函数,需要支持windows和linux,特贡献出来。
1。首先请加上这些预编译
#ifdef _WIN32
#include <direct.h>
#include <io.h>
#elif _LINUX
#include <stdarg.h>
#include <sys/stat.h>
#endif
#ifdef _WIN32
#define ACCESS _access
#define MKDIR(a) _mkdir((a))
#elif _LINUX
#define ACCESS access
#define MKDIR(a) mkdir((a),0755)
#endif
2。函数体
INT CreatDir(char *pszDir)
{
INT32 i = 0;
INT32 iRet;
INT32 iLen = strlen(pszDir);
//在末尾加/
if (pszDir[iLen - 1] != '\\' && pszDir[iLen - 1] != '/')
{
pszDir[iLen] = '/';
pszDir[iLen + 1] = '\0';
}
// 创建目录
for (i = 0;i < iLen;i ++)
{
if (pszDir[i] == '\\' || pszDir[i] == '/')
{
pszDir[i] = '\0';
//如果不存在,创建
iRet = ACCESS(pszDir,0);
if (iRet != 0)
{
iRet = MKDIR(pszDir);
if (iRet != 0)
{
return -1;
}
}
//支持linux,将所有\换成/
pszDir[i] = '/';
}
}
return 0;
}
1。首先请加上这些预编译
#ifdef _WIN32
#include <direct.h>
#include <io.h>
#elif _LINUX
#include <stdarg.h>
#include <sys/stat.h>
#endif
#ifdef _WIN32
#define ACCESS _access
#define MKDIR(a) _mkdir((a))
#elif _LINUX
#define ACCESS access
#define MKDIR(a) mkdir((a),0755)
#endif
2。函数体
INT CreatDir(char *pszDir)
{
INT32 i = 0;
INT32 iRet;
INT32 iLen = strlen(pszDir);
//在末尾加/
if (pszDir[iLen - 1] != '\\' && pszDir[iLen - 1] != '/')
{
pszDir[iLen] = '/';
pszDir[iLen + 1] = '\0';
}
// 创建目录
for (i = 0;i < iLen;i ++)
{
if (pszDir[i] == '\\' || pszDir[i] == '/')
{
pszDir[i] = '\0';
//如果不存在,创建
iRet = ACCESS(pszDir,0);
if (iRet != 0)
{
iRet = MKDIR(pszDir);
if (iRet != 0)
{
return -1;
}
}
//支持linux,将所有\换成/
pszDir[i] = '/';
}
}
return 0;
}
相关文章推荐
- C/C++创建多级目录函数,支持windows和linux
- C/C++创建多级目录函数,支持windows和linux
- VMware下的Linux系统中Windows的共享目录,不支持创建软连接
- VMware下的Linux系统中Windows的共享目录,不支持创建软连接
- 支持Windows和Linux的文件目录创建和删除操作
- VMware下的Linux系统中Windows的共享目录,不支持创建软连接
- Linux与windows共享目录下tar解压提示创建符号链接失败
- windows c++程序员开始用linux编程(二)创建新进程
- C/C++ 判断文件夹是否存在以及创建、删除文件夹 windows以及linux通用
- linux c 创建多级目录函数实现 支持绝对路径和相对路径
- C/C++ 判断文件夹是否存在以及创建、删除文件夹 windows以及linux通用
- 【C/C++开发】C++静态库与动态库以及在Linux和Windows上的创建使用
- windows C/C++移植linux(1)-目录操作
- C/C++ 判断文件夹是否存在以及创建、删除文件夹 windows以及linux通用
- 扫描目录中指定后缀名的文件(支持WINDOWS跟LINUX)
- windows下创建目录的常见函数
- windows怎么用C++创建文件夹,怎么用c++新建目录
- linux下挂载windows共享目录并创建软链接
- linux和windows下,C/C++开发的延时函数,sleep函数
- Linux C 创建目录函数mkdir相关