GetCurrentDirectory()获取当前进程工作目录
SetCurrentDirectory()切换当前进程的当前工作目录。
头文件:#include<Windows.h>
函数原型:
DWORD GetCurrentDirectory(
DWORDnBufferLength, // size of directory buffer 缓冲区的长度
LPTSTRlpBuffer // directory buffer 指定一个预定义字串,用于装载当前目录
);
返回值:
调用成功 返回装载到lpBuffer的字节数。
使用GetLastError函数可获得错误信息。
注:
GetCurrentDirectory只是返回操作系统的当前目录,并不一定返回你的应用程序的目录。比如你在应用程序中调用了打开文件对话框,你选择了一个文件,那么,这个文件所在的目录就成了操作系统的当前目录了。因此,千万不要用这个函数作为获取应用程序目录的手段。
获取当前应用程序主目录的方法是GetModuleFileName,先获取应用程序文件路径,然后截取调应用程序文件名称就是应用程序主目录了。
PS:应该用GetModuleFileName函数,然后.exe文件名去掉,就是当前路径了。
BOOL WINAPI SetCurrentDirectory(
LPCTSTR lpPathName //要切换到目的路径
);
示例:
char szCurPath[MAX_PATH] = "D:\\Path";
GetCurrentDirectory(sizeof(szCurPath), szCurPath); //获取当前工作目录
SetCurrentDirectory(szCurPath); //设置当前工作目录路径