我的目的是给定一个带路径的文件名,若路径不存在则创建相应的路径。我用纯C写的。
功能实现了,代码可能不是最简。
//***********************************************************************
//function: If the directory has been deleted, then create the directory
// according to the path that has been saved.
//
//***********************************************************************
CreateDir( char* pPathBase )
{
int iSrc, iDest, iStatus;
char* ptr, pTmp;
char cDest;
iSrc = strlen(pPathBase);
ptr = strchr(pPathBase,'\\'

;
ptr += 1;
ptr = strchr(ptr, '\\'

;
while(ptr)
{
ptr += 1;
iDest = strlen(ptr);
pTmp = memcpy(cDest, pPathBase, (iSrc-iDest));
cDest = '\0';
iStatus = mkdir(cDest);
if (iStatus == -1)
{
printf("create directory error!"

;
}
ptr = strchr(ptr, '\\'

;
}
if(!pTmp)
printf("memcpy failed!\n"

;
};