精华内容
下载资源
问答
  • VC获取当前文件路径---比较

    千次阅读 2013-05-30 16:32:53
    方法一: void GetAppPath(wstring &sPath) { sPath.resize(MAX_PATH); ::GetModuleFileName(GetModuleHandle(NULL), (LPTSTR)sPath.c_str(), MAX_PATH); int index = sPath.find_last_of(L'\\');...

    方法一:

    void GetAppPath(wstring &sPath)
    {
    	sPath.resize(MAX_PATH);
    	::GetModuleFileName(GetModuleHandle(NULL), (LPTSTR)sPath.c_str(), MAX_PATH);
    	int index = sPath.find_last_of(L'\\');
    	if(index >= 0) sPath = sPath.substr(0, index);
    }

    方法二:

    CString GetCurrPath()
    {
    	char fullpath[256] = {0};
    	GetModuleFileName(NULL, fullpath, MAX_PATH);
    	CString cspath(fullpath);
    	int index = cspath.ReverseFind('\\');
    	return cspath.Left(index);
    }
    方法三:

    {
        char lpFileName[MAX_PATH];    
        GetModuleFileName(NULL, lpFileName, sizeof(lpFileName));
        char* p = strrchr(lpFileName, '\\'); 
        if( p )
            *p = 0;
    }
    


    展开全文
  • VC获取当前程序文件路径,文件名以及路径+文件名,经典实用做法。欢迎大家下载学习。
  • // VC获取当前程序文件路径 : // 方法1 : 获取的是程序的工作路径-------------------------------------------------------------------------------- // 获取的是程序的工作路径 : char pBuf[MAX_PATH] = ...

    // VC获取当前程序文件的路径 : 

    // 方法1 : 获取的是程序的工作路径--------------------------------------------------------------------------------

    // 获取的是程序的工作路径 : 
    char pBuf[MAX_PATH] = {0};              // 存放路径的变量
    GetCurrentDirectory(MAX_PATH, pBuf);    // 获取程序的当前目录
    strcat(pBuf, "\\");                     // 在工作路径后添加"\"
    strcat(pBuf, AfxGetApp()->m_pszExeName);// 获取程序文件名
    strcat(pBuf, ".exe");                   // 获取程序的全文件名

     

    // 方法2 : 获取的是程序的绝对路径--------------------------------------------------------------------------------

    // 获取的是程序的绝对路径 : 
    CString CClientApp::ReturnPath()  
    {
        CString sPath = "";
        GetModuleFileName(NULL, sPath.GetBufferSetLength(MAX_PATH+1), MAX_PATH);   
        sPath.ReleaseBuffer();
        int nPos;
        nPos=sPath.ReverseFind('\\');
        sPath=sPath.Left(nPos);
        return sPath;
    }

     

    // 解析--------------------------------------------------------------------------------------------------------
      方法1 : 程序文件的 [安装路径] 和 [工作路径]是有可能不同的。
        比如程序安装在C盘或D盘,当你从[开始]-[程序]后的菜单中打开该文件,此时获取的是用户工作路径,
        如:C:/Documents and Settings/[计算机当前用户名]/....../....。

    方法2 : 获取的是程序的绝对路径,用这个路径加载同目录下的文件是不会有问题的。

    转载于:https://www.cnblogs.com/xuejianhui/articles/2742494.html

    展开全文
  • 二个函数NoteTxtAddLog(打印文件),GetCurDir(获取当前目录) 首先使用的函数:NoteTxtAddLog(GetCurDir() +“日志.txt”,strFormat,strFormat.GetLength(),TRUE,FALSE); 解释函数: NoteTxtAddLog(CString ...

    不用说,直接贴码
    二个函数NoteTxtAddLog(打印文件),GetCurDir(获取当前目录)

    首先使用的函数:NoteTxtAddLog(GetCurDir() +“日志.txt”,strFormat,strFormat.GetLength(),TRUE,FALSE);
    解释函数:
    NoteTxtAddLog(CString sFile,CString byData,DWORD dwSize,bool bDel,bool isDate)
    {
    CFile* file = new CFile;
    CFileStatus filestatus;
    ZeroMemory(&filestatus,sizeof(CFileStatus));
    if (!file->GetStatus(sFile,filestatus))
    {
    file->Open(sFile,file->modeCreate);
    file->Close();
    }
    }

    CString GetCurDir
    {
    CString strRet;
    char strDir[255];
    int intLen = GetModuleFileName(NULL,strDir,255);
    strDir[intLen] = 0;
    strRet = (CString)strDir;
    int intTemp;
    int intPos = strRet.Find("\");
    while (intPos > 0)
    {
    intTemp = intPos;
    intPos = strRet.Find("\",intPos + 1);
    }
    if (intTemp > 0)
    {
    strRet = strRet.Mid(0,intTemp + 1);
    }
    return strRet;
    }

    展开全文
  • 获取当前/上一级路径 TCHAR exeFullPath[MAX_PATH]; //定义一个TCHAR类型的数组,数组名为exeFullPath,长度为MAX_PATH GetModuleFileName(NULL,exeFullPath,MAX_PATH); // 获取当前应用程序的路径...\\projects\\...
  • VC获取文件路径

    千次阅读 2008-08-25 15:16:00
    VC中使用GetModuleFileName获取应用程序路径 //与API函数GetModuleFileName获取应用程序目录有何不一样? 采用.//也能获得应用程序目录,采用GetModuleFileName也能获得,二者有何不同? 一样!一个是相对路径,一...
     

    VC中使用GetModuleFileName获取应用程序路径

     

    //与API函数GetModuleFileName获取应用程序目录有何不一样?


    采用.//也能获得应用程序目录,采用GetModuleFileName也能获得,二者有何不同?


    一样!
    一个是相对路径,一个是绝对路径


    .//是的到应用程序的当前目录,但当前目录不一定等于应用程序执行文件的所在目录,一个应用程序被启动时,当前目录是可以被任意设置的。
    GetModuleFileName()得到模块的完整路径名,例如,你载入c:/windows/system32/a.dll,得到模块句柄h,则你可以用GetModuleFileName()得到h模块的完整路径名。


    .//一般用在包含头文件的语句中。
    另一个是程序编译后起作用的,例如,打开自定义的配置文件等。


    如何去取得这个Hanlde?


    如果你直接用LoadLibrary()或AfxLoadLibrary()载入dll,该函数返回值就是handle;
    如果你隐式载入dll, 用GetModuleHandle("dll文件名")也可以得到handle;

    MFC程序得到本身路径

    在开发工程中,往往需要知道当前程序本身所在目录。
    一种方法是在程序安装的时候利用安装程序把文件路径写入注册表。在较大的程序中,这种方法比较常用
    另一种,就是在程序得到路径。这样,程序随便移动到哪里,都可以得到正确的路径。这也是本文介绍的方法。

    方法一:
    [code]
    //得到帮助文件的路径
    CString strFullName = AfxGetApp()->m_pszHelpFilePath;
    //得到的是:X:/XXXX/XXX.hlp

    //解析路径,得到当前运行程序所在目录
    char drive[_MAX_DRIVE];
    char dir[_MAX_DIR];

    _splitpath(strAppName, drive, dir, NULL,NULL);
    CString strPath;
    strPath.Format("%s%s", drive, dir);
    //strPath即为得到的当前运行程序所在目录
    [/code]
    另外,AfxGetApp()->m_pszAppName 得到应用程序名称
    AfxGetApp()->m_pszExeName 得到程序文件名,不包括扩展名

    方法二:
    得到全路径
    TCHAR exeFullPath[MAX_PATH]; // MAX_PATH
    GetModuleFileName(NULL,exeFullPath,MAX_PATH);//得到程序模块名称,全路径
    也就是当前运行程序的全路径
    利用方法一的解析路径的方法,即可得到程序所在路径。

    GetModuleFileName函数原型
    DWORD GetModuleFileName(
       HMODULE hModule,     // handle to module。将要得到的模块的句柄。如果是当前模块,NULL
       LPTSTR lpFilename,   // path buffer   得到的文件名。
       DWORD nSize          // size of buffer   一般MAX_PATH就可以了
    );


    展开全文
  • VC获取当前路径

    千次阅读 2010-12-28 14:51:00
     在对文件操作的时候,我们很多时候需要知道文件的全路径,写了一个函数来获取当前路径: ////////////////////////////////////////////////////////////////////////////// ////////////////////...
  • 1.方法1 TCHAR pBuf[MAX_PATH]; //存放路径的变量 GetCurrentDirectory(MAX_PATH, pBuf); //获取程序的当前目录 _tcscat_s(pBuf, _T("\\")); _tcscat_s(pBuf...
  • 1.方法1  charpBuf[MAX_PATH]; //存放路径的变量  GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录  strcat(pBuf,"\\");  strcat(pBuf,AfxGetApp
  • TCHAR szFilePath[MAX_PATH + 1]; GetModuleFileName(NULL, szFilePath, MAX_PATH); CString Dir = szFilePath; int last=Dir.ReverseFind('\\'); Dir=Dir.Left(last);//Dir为exe文件的绝对路径
  • //获取当前目录 wchar_t exepath[MAX_PATH]; CString strdir, tmpdir; memset(exepath, 0, MAX_PATH); GetModuleFileName(NULL, exepath, MAX_PATH); tmpdir = exepath; strdir = tmpdir.Left(tmpdir....
  • 来源:http://bbs.witbase.com/redirect.php?tid=3253&goto=lastpost<br />  1.方法1 char pBuf[MAX_PATH]; //存放路径的变量 GetCurrentDirectory(MAX_... //获取程序的当前目录 str
  • 1.方法1 char pBuf[MAX_PATH]; //存放路径的变量 GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录 strcat(pBuf,"//"); strcat(pBuf,AfxGetApp()-
  • vc++,当前工作目录

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 137
精华内容 54
热门标签
关键字:

vc获取当前文件路径