C C++实现创建目录
下面代码是C、C++可以使用的创建目录的函数及头文件,这是引用的opencv,haartraining中的一种方式。
#include <direct.h> //不同系统可能不一样,这是在windows下的名称
#include <sys/stat.h>
#include <sys/types.h> int icvMkDir( const char* filename )
{
char path[PATH_MAX];
char* p;
int pos; #ifdef _WIN32
struct _stat st;
#else /* _WIN32 */
struct stat st;
mode_t mode; mode = ;
#endif /* _WIN32 */ strcpy( path, filename ); p = path;
for( ; ; )
{
pos = (int)strcspn( p, "/\\" ); if( pos == (int) strlen( p ) ) break;
if( pos != )
{
p[pos] = '\0'; #ifdef _WIN32
if( p[pos-] != ':' )
{
if( _stat( path, &st ) != )
{
if( _mkdir( path ) != ) return ;
}
}
#else /* _WIN32 */
if( stat( path, &st ) != )
{
if( mkdir( path, mode ) != ) return ;
}
#endif /* _WIN32 */
} p[pos] = '/'; p += pos + ;
} return ;
}
C C++实现创建目录的更多相关文章
- Linux驱动学习 —— 在/sys下面创建目录示例
		有时我们需要在/sys下面创建一些目录, 下面给出了一个示例. 在加载驱动模块后, 在/sys下面会创建一个名为sysfs_demo的目录,并在其中在创建几个文件和目录. [root@tiny4412 ... 
- mkdir创建目录
		mkdir:make directories(创建目录) 创建目录的首要条件:在当前目录或者欲创建目录下,该用户具有写入权限,mkdir详细功能如下: 1.mkdir不接任何参数时,即mkdir di ... 
- lua中清空目录和递归创建目录
		lua中的 lfs.mkdir lfs.rmdir只能针对单个目录,且lfs.rmdir不能清空文件夹 于是我想到了使用os.execute 递归创建目录如下os.execute("mkdi ... 
- Word2013创建目录
		1.写好文档内容后,将光标移到标题行,点击“开始”里的“样式”->“创建样式”,为该标题创建一个新的样式,同时点击“修改”,在打开的窗口中选择左下方的“格式”,进行标题格式的调整.依次可设定子标 ... 
- centos7.0改变用户创建目录组权限
		centos7.0改变用户创建目录组权限可通过umask进行设置. 临时改变可通过umask命令进行设置 永久性改变,可通过修改~/.bash_profile的方式进行调整. 
- Linux C 创建目录函数mkdir相关(转-清新居士)
		I.Linux C 创建目录函数mkdir的mode设置问题 函数原型: #include <sys/stat.h> int mkdir(const char *path, mode_t ... 
- [WinAPI] API 11 [创建目录]
		编程实现创建目录是非常简单的,只要使用API函数CreateDirectory即可. (1) Createdirectory ◇参数lpPathName:输入参数,所要创建的目录名或路径.lpSecu ... 
- git在分支上创建目录和文件
		创建一个空目录,在其中初始化git git init 创建一个新文件,此时默认在master分支上 touch file1.txt add到staging area git add file1.txt ... 
- Java创建目录  mkdir与mkdirs的区别
		两者的参数都是路径串,但: mkdir只能创建父目录存在的目录,而mkdirs不论要创建目录的父目录是否存在都能创建成功. 例如:假设目录c:/uses/zsm/desktop/dir1不存在,,现在 ... 
- php 递归创建目录、递归删除非空目录、迭代创建目录
		递归创建目录 方法一 function mk_dir($path){ if(is_dir($path)){ //参数本身是一个目录 return true; } if(is_dir(dirname($ ... 
随机推荐
- error LNK2005 new,delete 等已经在LIBCMT.lib(delete.obj) 中定义 错误修正
			http://blog.csdn.net/funnyskyf/article/details/5938597 1>uafxcw.lib(afxmem.obj) : error LNK2005: ... 
- ha_innobase::general_fetch
			/***********************************************************************//** Reads the next or previ ... 
- UVa 11105 (筛法) Semi-prime H-numbers
			题意: 你现在来到了一个所有的数都模4余1的世界,也就是除了这种数没有其他的数了. 然而素数的定义依然没变,如果一个数不能写成两个非1数字的乘积,则它是素数. 比如,在这里5就变成了最小的素数. 两个 ... 
- Java [Leetcode 155]Min Stack
			题目描述: Design a stack that supports push, pop, top, and retrieving the minimum element in constant ti ... 
- 【转】android:layout_gravity和android:gravity的区别
			1.首先来看看android:layout_gravity和android:gravity的使用区别. android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置 ... 
- Android:实现一种浮动选择菜单的效果
			总结如何实现Android浮动层,主要是dialog的使用. 自定义一个类继承自Dialog类,然后在构造方法中,定义这个dialog的布局和一些初始化信息. 案例1: public class Me ... 
- MongoDB@入门一
			安装MongoDB自行搜索, 我这里提供GUI版本类似navicat. 1. 数据库层面 show dbs #查看服务器上的数据库 [local 0.000GB] use test #切换到指定 ... 
- oracle检查点checkpoint信息
			1.关于checkpoint的概述 checkpoint是oracle在数据库一致性关闭.实例恢复和oracle基本操作中不可缺少的机制,包含以下相关的含义: A.检查点的位置(checkpoint ... 
- C/C++:类模板
			类模板就是为类声明一种模板,使得类中的某些数据成员,或某些成员函数的参数,又或者是某些成员函数的返回值可以取任意的数据类型,包括基本数据类型和自定义数据类型. 类模板的声明形式如下: template ... 
- MFC学习20160718(GetModuleFileName&&GetAppDataPath)
			1.标题栏设置 一.对话框标题栏内容为静态 直接在对话框属性“General”的“Caption”中修改. 二.对话框标题栏内容为动态生成的 在对应对话框的初始化函数OnInitDialog()中添加 ... 
