BOOL SetCurrentDirectory(
LPCTSTR lpPathName // 程序的目录设置到地址
);
DWORD GetCurrentDirectory(
DWORD nBufferLength, // 缓冲区大小
LPTSTR lpBuffer // 存放地址的缓冲区
);
DWORD GetModuleFileName(
HMODULE hModule, // 所要得到的EXE的应用程序句柄
LPTSTR lpFilename, // 存放地址的缓冲区
DWORD nSize // 缓冲区大小
);
char *getcwd(
char *buffer, //缓冲区
int maxlen //缓冲区大小
);
eg:
当前工程建在:"D:/test", 工程名为:"pTest"
char *lpPath= new char [MAX_PATH];
char *p= new char [MAX_PATH];
char *buffer = new char[MAX_PATH]; //得到的是D:/test/pTest/pTest"
if((buffer = getcwd(NULL, 0)) == NULL)
//也可以将buffer作为输出参数
GetModuleFileName(NULL, p, MAX_PATH); //得到的是"D:/test/pTest/Debug/pTest.exe"
GetCurrentDirectory(MAX_PATH, lpPath); //得到的是"D:/test/pTest/pTest"
SetCurrentDirectory("C://"); //把目录设到"C:/"
GetCurrentDirectory(MAX_PATH, lpPath); //得到的是"C:/"
char *buffer = new char[MAX_PATH]; //得到的是D:/test/pTest/pTest"
GetModuleFileName(NULL, p, MAX_PATH); //得到的是"
D:/test/pTest/Debug/pTest.exe"