Bootstrap

应用程序所在目录 与 程序工作目录

概念

程序运行时可能需要与外部系统或者文件系统进行交互,这里有两个概念需要分清楚:程序所在目录和程序工作目录:

当前工作目录 (Current Working Directory)

一般来说,每个进程都有一个与之相关联的分级文件系统(hierarchical file system)下的目录,称之为该进程的当前工作目录。如果程序刚进入main入口处的时候,当前工作目录其实就是程序启动的目录,但是当前工作目录是可以通过程序进行设置或者随着OpenFileDialog、SaveFileDialog等对象所确定的目录而改变。使用的时候要小心。


应用程序所在的目录

该进程从中启动的目录,即程序文件自身所在的目录。

所以,当前工作目录和程序所在的目录可以不同。

windows - C++

  • 程序全路径的接口是:GetModuleFileName。例如:
TCHAR szFilePath[MAX_PATH + 1];
GetModuleFileName(NULL, szFilePath, MAX_PATH); 
(_tcsrchr(szFilePath, _T(
;