不知道大家遇到过没有,我这样得到当前路径:
char szDir1[256];
GetCurrentDirectory(dwSize,szDir1);
szDir.Format("%s",szDir1);
m_path = szDir + "\\Drivers\\123.exe"
在本机上m_path为e:\Drivers\123.exe,而在光盘上却为e:\\Drivers\123.exe,而两者中的szDir都是e:\,请问怎么回事呢?谢谢!
你是说你程序在光盘上启动运行的时候,显示为e:\\Drivers\123.exe ??
判断一下, 如果szDir最后为"\"则相加的字符串不要"\\", 如下:
if (szDir.Right(1) == "\\")
m_path = szDir + "Drivers\\123.exe";
else
m_path = szDir + "\\Drivers\\123.exe";
当前路径不是不变的,当程序启动时是程序坐在目录,程序运行中如果使用了文件对话框之类的可能修改当前路径的功能就会改变