CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);//不懂,各个参数都是什么意义
sPath.ReleaseBuffer ();//不懂
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
nPos=sPath.ReverseFind('\\');
    sPath=sPath.Left (nPos);
CString lpszFile = sPath + "\\db6.mdb";
据说,用上边一段代码就可以得到,文件的完整路径名,各个函数都起什么作用,原理是什么?

解决方案 »

  1.   

    GetModuleFieName是获得当前进程的全路径。ReverseFine()从右找第一个'\'
    Left截断CString右边的部分最后就得到当前进程目录下的db6.mdb全路径。CSting的函数请参看msdn,很详细的。
      

  2.   

    很简单,查查msdn中CSting的成员函数,一看便知道:)
    其实上面的程序可以稍加改善:)
    CString sPath;
    GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
    sPath.ReleaseBuffer ();
    int nPos;
    nPos=sPath.ReverseFind ('\\');
    sPath=sPath.Left (nPos + 1);
    CString lpszFile.Format("s%s%",sPath,"\\db6.mdb");
      

  3.   

    不好意思,最好一句是:CString lpszFile.Format("s%s%",sPath,"db6.mdb");