GetCurrentDirectory()和GetModuleFileName()函数的区别
2010-06-20 17:45
513 查看
GetCurrentDirectory只是返回当前进程的当前目录,而并不是进程的镜像文件(.exe)所在的目录
GetCurrentDirectory()适用于XP等系统,在WinCE上不能使用
GetModuleFileName()适用于WinCE2.0以后
使用方法:
//下面的一段代码主要是获得当前程序的运行目录(.exe)所在的目录
{
CString path;
GetModuleFileName(NULL,path.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
path.ReleaseBuffer();
int pos = path.ReverseFind('//');
path = path.Left(pos);
}
GetModuleFileName函数
GetCurrentDirectory()适用于XP等系统,在WinCE上不能使用
GetModuleFileName()适用于WinCE2.0以后
使用方法:
//下面的一段代码主要是获得当前程序的运行目录(.exe)所在的目录
{
CString path;
GetModuleFileName(NULL,path.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
path.ReleaseBuffer();
int pos = path.ReverseFind('//');
path = path.Left(pos);
}
GetModuleFileName函数
WINAPI DWORD GetModuleFileName( HMODULE hModule, LPWSTR lpFilename, DWORD nSize ); GetBuffer和ReleaseBuffer是一套需要配合使用的函数, 与GetBufferSetLength相比, 优点是如果分配的空间大于实际保存的字符串(0结尾), ReleaseBuffer会把多余申请的空间释放, 归还给系统; 但使用时需要注意以下问题: 如果要保存的字符串为abc(0结尾),则GetBuffer参数应至少 为3; 如果要保存的内容不是以0结尾, 比如是读取文件数据, 则GetBuffer参数如果大于文件长度时,ReleaseBuffer参数一定要为文件长度(如果 GetBuffer参数为文件长度的话不存在问题,ReleaseBuffer参数可以为默认-1)! GetBufferSetLength相对比较容易理解, 它申请一个指定长度的空间, 即使里面最终保存的字符串长度小于申请的空间长度, 也不会将 多余空间释放.
相关文章推荐
- 获取文件的绝对路径, GetCurrentDirectory()和GetModuleFileName()函数的区别
- GetCurrentDirectory()和GetModuleFileName()函数的区别
- 获取文件的绝对路径, GetCurrentDirectory()和GetModuleFileName()函数的区别
- GetCurrentDirectory()和GetModuleFileName()函数的区别
- GetCurrentDirectory()和GetModuleFileName()函数的区别
- GetModuleFileName与GetCurrentDirectory的区别
- SetCurrentDirectory(),GetCurrentDirectory(),GetModuleFileName()的区别
- 日常工作问题总结(三十一)windows获取路径的几个函数GetCurrentDirectory,GetModuleFileName,GetFullPathName
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- 获取程序路径的方法.\\,GetCurrentDirectory与GetModuleFileName的区别
- 也谈GetCurrentDirectory 和 GetModuleFileName的 区别(在Command窗口下运行.exe程序)
- 获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数 .
- MFC获取路径的两个函数GetCurrentDirectory()和GetModuleFileName()
- GetCurrentDirectory 和 GetModuleFileName 区别
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数