提供函数实现根据文件名返回他所在的路径!!!!谢谢

解决方案 »

  1.   

    什么意思???是不是根据c:\asdfds\aa.exe获得c:\asdfds???????????如果是的话下面这个函数稍微改动就能实现... 
    CString GetExeDirectory()
    {
    char *szCmd=NULL,*pc=NULL; 
    int nPathLen=0; 
    char *szPath=NULL;
    CString m_ExeDir;

    szCmd=GetCommandLine(); if (szCmd[0]!='\"') return ""; 

    for (pc=szCmd+1; *pc; pc++)
    if (*pc=='\"') break; 

    for (  ; pc>=szCmd+1; pc--)
    {
    if (*pc=='\\') break;
    if (*pc=='/') break;
    }

    nPathLen=pc-(szCmd+1);
    if (nPathLen<=0) return ""; 

    szPath=(char *)malloc(nPathLen+1); if (szPath==NULL) return "";
    memcpy(szPath,szCmd+1,nPathLen); szPath[nPathLen]=0;

    m_ExeDir=szPath;
    free(szPath); return m_ExeDir;}