你是否经历过:使用文件选择对话框之后,用getcwd等函数得到的程序位置都变到选择的那些文件的目录下去了。
其实,这是程序的工作目录被改变了。
我还曾为此单独解决过(见http://huidong.xyz/index.php?mode=2&id=173 )
然而,我发现,如果拖动文件到程序的图标上,以这种方式启动程序的话,程序的“位置”也会变到被拖动的文件的位置。
为了解决这个问题,得到程序的真正位置,我发现main函数的argv参数的第一个字符串,也就是argv[0]总是存储着程序的真实位置。
那么,用它就好了。