您的位置:首页 > 其它

递归创建文件夹的例子

2010-07-23 16:41 218 查看
char lcl_path[255] = "c://data/data//data//data//data//data";
char szDir[255] = {0}, szFileName[255] = {0}, tmpDir[255] = {0};
int i, lastPos = 0, dirLen = strlen(lcl_path);
memcpy(szDir, lcl_path, dirLen);
for(i = 0; i < dirLen; i++)
{
if(('//' == szDir[i]) || ('/' == szDir[i]))
{/* find the last '/' or '/', at the same time, set all '/' to '/' */
lastPos = i;
szDir[i] = '/';
}
}
memcpy(szFileName, szDir + lastPos + 1, dirLen - lastPos - 1);
szDir[lastPos] = 0;
lastPos = 0;
dirLen = strLen(szDir);
for (i = 0; i < dirLen; i++)
{
if ('/' == szDir[i])
{
if(!lastPos)
{/* do not create directory 'cause it is not a valid directory */
lastPos = i;
continue;
}
memcpy(tmpDir, szDir, i);
mkdir(tmpDir);
lastPos = i;
}
}
mkdir(szDir);


嗯,以上代码是可以工作的.就是啰嗦了点.没有什么动力去改进了,凑合用吧.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: