如果要打开一个不在“程序当前目录”下的文件,就要事先调用SetCurrentDirectory函数,把当前目录指向文件所在目录,就你在1楼所说的情况,就要调用SetCurrentDirectoy(“C:\Documents and Settings\lenovo\桌面\fff\data\imagesdata/images/”);(某些情况还要考虑转意符的问题,这里先把这个问题忽略。。。)
把目录转到C:\Documents and Settings\lenovo\桌面\fff\data\imagesdata/images/
下,才能找到目标文件。
然后你就可以直接打开sand1.bmp文件了。。。
那这样的话,用SetCurrentDirectoy(“C:\Documents and Settings\lenovo\桌面\fff\data\imagesdata/images/”);就只能在桌面可以运行这个文件,但如果,我把这个exe可执行文件放到其它盘的话,那就又不能运行了,比如说D盘。要想运行只能改SetCurrentDirectoy(“D:\fff\data\imagesdata/images/”),,那我每次换地方运行,每次都 要换代码,那多不好啊。
不管你地exe是在c,d,e,f,g,h,i,j,....................................................哪一个盘哪一个目录下,都会在C:\Documents and Settings\lenovo\桌面\fff\data\imagesdata/images/这个目录下读文件啊。。。