标签:
路径问题,是文件读写绕不过的一个坎。
简要介绍一下,如何获取当前 可执行程序的路径。
1 #include <iostream> 2 3 #include <afx.h> 4 #include <shlwapi.h> 5 using namespace std; 6 7 int main() 8 { 9 ///// 示例1:获取当前路径名 10 WCHAR szPath[MAX_PATH] = { 0 }; 11 GetModuleFileName( NULL, szPath, _MAX_PATH);///得到当前.exe的全路径 12 PathRemoveFileSpec(szPath); //// 去掉当前.exe文件名,以及最后面的 \\ 符号,得到当前.exe所在路径 13 // cout << szPath << endl; // 这样没法输出这个 字符串 14 CStringA strA(szPath); 15 cout << strA.GetString() << endl; ///这样强制转换一下,可以输出这个字符串了 16 17 system("pause"); 18 return 0; 19 }
在 vs2013下,新建一个win32的控制台程序,复制这里吗的代码,就可以把工程跑起来了。
这里有源码,方便初学者。(工程是在vs2013下创建的,创建的是win32的工程)
这里主要用到了windows下2个重要的函数。
GetModuleFileName()。获取当前.exe所在的路径(全路径,例如 D://Demo//test.exe )
PathRemoveFileSpec(); 去掉.exe的文件名,和最后面的 \\符号,得到当前.exe所在的路径。
这里只介绍怎么用。原理可以参考网路上各位朋友的介绍。
给出几个参考链接:
http://blog.sina.com.cn/s/blog_4b7c6cc00100t7j2.html
http://www.cnblogs.com/xuemaxiongfeng/articles/2465544.html
http://blog.csdn.net/a379039233/article/details/46820453
标签:
原文地址:http://www.cnblogs.com/MasterOogway/p/5801447.html