您的位置:首页 > 其它

GetCurrentDirectory获取当前目录而不是当前执行文件的目录

2013-10-09 16:56 295 查看
今天用GetCurrentDirectory来获取可执行文件目录时发现,这个函数不是用来获取当前执行文件的目录。而是获取当前目录,含义是不一样的。

当前目录时类似缓存的东西。指向一个目录,这个当前目录可以更改。

百度百科:

注意当前目录这东西有点怪异,本来确实是可执行文件的所在目录,但是当用文件对话框成功打开一个文件后,该目录就被修改为被打开的文件所在目录。比如在程序中使用"123.txt"这样的文件名,希望将它存储在exe文件所在目录中,但是当用户用文件对话框打开一个文件"F:\456.txt"后,这个123.txt会被存储到F盘下。(VC2005下的情况,其他VC版本待验证)

今天做了个例子。

用一个程序调用不同目录的子程序。在子程序中用这个函数获取当前目录,获取的是父进程可执行文件所在的目录。

若想获取可执行文件的目录,可用GetModuleFileName。

记录一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐