用vc寫程序時常常要獲取程序的路徑主要有如下三種方法
1,.\\是的到應用程序的當前目錄,但當前目錄不必定等於應用程序執行文件的所在目錄,一個應用程序被啓動時,當前目錄是能夠被任意設置的。
2,GetCurrentDirectory同.\\
3,GetModuleFileName()獲得模塊的完整路徑名,例如,你載入c:\windows\system32\mfc.dll,獲得模塊句柄h,則你能夠用GetModuleFileName()獲得h模塊的完整路徑名
1和2獲取的是路徑名,而3獲取的是全路徑名
GetModuleFileName函數原型
DWORD GetModuleFileName(
HMODULE hModule, // handle to module。將要獲得的模塊的句柄。若是是當前模塊,NULL
LPTSTR lpFilename, // path buffer 獲得的文件名。
DWORD nSize // size of buffer 通常MAX_PATH就能夠了
);
能夠經過如下方法獲取路徑名
char szCurPath[MAX_PATH];
//定義一個字符串數據,長度爲MAX_PATH
,MAX_PATH是預約義的宏,通常是個數字常量如256
GetModuleFileName(NULL,szCurPath,_MAX_PATH);
char* p = szCurPath;
while(strchr(p,'\\'))
{
p = strchr(p,'\\');
p++;
}
*p = '\0';
CString strSwfname = szCurPath;
szCurPath就是去除文件名的路徑名