GetCurrentDirectory获取当前目录而不是当前执行文件的目录
2013-10-09 16:56
295 查看
今天用GetCurrentDirectory来获取可执行文件目录时发现,这个函数不是用来获取当前执行文件的目录。而是获取当前目录,含义是不一样的。
当前目录时类似缓存的东西。指向一个目录,这个当前目录可以更改。
百度百科:
注意当前目录这东西有点怪异,本来确实是可执行文件的所在目录,但是当用文件对话框成功打开一个文件后,该目录就被修改为被打开的文件所在目录。比如在程序中使用"123.txt"这样的文件名,希望将它存储在exe文件所在目录中,但是当用户用文件对话框打开一个文件"F:\456.txt"后,这个123.txt会被存储到F盘下。(VC2005下的情况,其他VC版本待验证)
今天做了个例子。
用一个程序调用不同目录的子程序。在子程序中用这个函数获取当前目录,获取的是父进程可执行文件所在的目录。
若想获取可执行文件的目录,可用GetModuleFileName。
记录一下
当前目录时类似缓存的东西。指向一个目录,这个当前目录可以更改。
百度百科:
注意当前目录这东西有点怪异,本来确实是可执行文件的所在目录,但是当用文件对话框成功打开一个文件后,该目录就被修改为被打开的文件所在目录。比如在程序中使用"123.txt"这样的文件名,希望将它存储在exe文件所在目录中,但是当用户用文件对话框打开一个文件"F:\456.txt"后,这个123.txt会被存储到F盘下。(VC2005下的情况,其他VC版本待验证)
今天做了个例子。
用一个程序调用不同目录的子程序。在子程序中用这个函数获取当前目录,获取的是父进程可执行文件所在的目录。
若想获取可执行文件的目录,可用GetModuleFileName。
记录一下
相关文章推荐
- 获取当前进程文件所在目录,用于替代GetCurrentDirectory
- [WinAPI]使用GetCurrentDirectory()获取当前目录
- WinAPI: SetCurrentDirectory、GetCurrentDirectory - 设置与获取当前目录
- WinAPI: SetCurrentDirectory、GetCurrentDirectory - 设置与获取当前目录
- VC新建目录CreateDirectory、得到exe存放路径GetModuleFileName、获取当前目录GetCurrentDirectory、CFileDialog设置打开默认路径
- VC新建目录CreateDirectory、得到exe存放路径GetModuleFileName、获取当前目录GetCurrentDirectory、CFileDialog设置打开默认路径
- 获取当前进程目录 GetCurrentDirectory() 及 获取当前运行模块路径名GetModuleFileName()
- 获取当前目录用GetCurrentDirectory()与从GetModuleFileName()分离之异同
- GetModuleFileName 获取当前程序可执行文件所在目录
- C语言-获取程序运行的当前目录函数GetCurrentDirectory
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- RUBY获取当前的执行文件的路径和目录
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- linux 获取当前进程的可执行文件所在的目录
- TDirectory.GetFileSystemEntries获取指定目录下的目录和文件
- 获取文件的绝对路径, GetCurrentDirectory()和GetModuleFileName()函数的区别
- GetCurrentDirectory 获取软件当前运行路径
- VC++获取可执行文件当前目录
- 获取当前正在执行的服务器应用程序根目录的物理文件系统路径