菜单

文件路径解析

2019年8月2日 - 4166am金沙下载
#include <stdio.h>
#include <stdlib.h>

void GetPath(char *pString,char *pCrrentDir) //解析文件路径
{
    while(*(pCrrentDir++)=*(pString++));     //获取原始文件字符串
    while(*(--pCrrentDir)!='\\\\');            //从原始字符串尾部向前移到最后一个反斜杠处
    *pCrrentDir='\\0';                        //最后一个反斜杠位置截断,获得当前路径
}

void GetName(char *pString, char *pBmpName)  //解析文件名称
{
    while(*(pString++));                     //移到原始字符串尾部
    while(*(--pString)!='\\\\');               //从原始字符串尾部前移至最后一个反斜杠处
    while(*(pBmpName++)=*(++pString));       //从最后一个反斜杠处将原始字符串依次赋值,获得文件名称
}

void GetParentPath(char *pString,char *pParentDir)  //解析文件上一级目录
{
    while(*(pParentDir++)=*(pString++));            //获取原始文件字符串
    while(*(--pParentDir)!='\\\\');                   //从原始字符串尾部向前移到最后一个反斜杠处
    *pParentDir='\\0';                               //最后一个反斜杠位置截断,获得当前路径
    while(*(--pParentDir))                          //从最后一个反斜杠向前移到倒数第二个反斜杠  
    {                                               //如果只有根目录,则当前路径和上一级路径重合
        if(*pParentDir == '\\\\' )
        {
           *pParentDir='\\0';
            break;
        }       
    }               
}

int main(int argc, char *argv[])
{
    char* pString = "C:\\\\examp2.1\\\\mytest\\\\01245.tar.zip";    
    char pBmpDir[100];
    char pBmpName[100];
    char pParentDir[100];

    GetPath(pString,pBmpDir);
    GetName(pString,pBmpName);
    GetParentPath(pString,pParentDir);

    printf( "源字符串:%s \\n",pString);
    printf( "当前路径:%s \\n",pBmpDir);
    printf( "文件名称:%s \\n",pBmpName);
    printf( "上级路径:%s \\n",pParentDir);

    system("PAUSE");    
    return 0;
}
//该片段来自于http://outofmemory.cn

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图