获取执行文件路径
来源:互联网 发布:类的定义 c语言 编辑:程序博客网 时间:2024/05/17 19:17
1.问题
原来代码在win7下可以正常运行在xp下无法输出
mymain.cpp
#include <stdio.h>#include <Windows.h>#include <string>int main(){ wchar_t pwbuf[MAX_PATH] = {0}; DWORD dwRet = GetModuleFileNameW(NULL, pwbuf, MAX_PATH); if (dwRet != 0) { std::wstring strpath(pwbuf); int npos = strpath.find_last_of(L'\\'); if (npos != -1) strpath.erase(npos + 1); wprintf(L"%s\n", strpath.c_str()); } system("pause"); return 0;}
2.解决
在xp下返回值为0成功,在win7下返回非0成功 修改后的代码
#include <stdio.h>#include <Windows.h>#include <string>int main(){ wchar_t pwbuf[MAX_PATH] = {0}; DWORD dwRet = GetModuleFileNameW(NULL, pwbuf, MAX_PATH);#if (WINVER >= 0x0501) if (dwRet != 0)#else if (dwaRet == 0)#endif { std::wstring strpath(pwbuf); int npos = strpath.find_last_of(L'\\'); if (npos != -1) strpath.erase(npos + 1); wprintf(L"%s\n", strpath.c_str()); } system("pause"); return 0;}
3.备注
有很多api微软在操作系统上的返回值可能有不同的含义,故除了看文档,还要看实际中的情况
http://download.csdn.net/detail/zhang_ruiqiang/9116267
0 0
- 获取执行文件路径
- c#获取执行文件路径
- 获取当前执行文件路径
- 获取执行文件exe路径
- 如何获取执行文件的全路径
- 获取linux进程的执行文件路径
- Web获取当前文件执行路径
- C++ sdk 获取执行文件所在路径
- 通过进程ID获取执行文件路径
- perl获取当前执行文件的路径
- go语言获取exe文件执行路径
- 如何获取linux进程的执行文件路径
- 如何获取linux进程的执行文件路径
- [MFC]获取EXE执行文件所在的路径
- Window下获取执行文件的目录的路径函数
- C++实现获取当前执行文件全路径
- 在C++中获取当前执行文件的路径
- C++:获取当前执行文件的路径方法(笔记)
- gradle--第十一章 使用Gradle命令行2
- arm-linux-ld 的使用
- 如何在局域网访问Tomcat项目
- H index II
- 通过VB写Get_Next的代码 KMP的next求法
- 获取执行文件路径
- 二叉树的性质
- 献血是件很赞的事——北漂18年(26)
- setlinestyle(0,0,1);setbkcolor(i);setcolor(j);
- setlinestyle(j,0,3)
- DDALine
- Java Servlet 的线程
- 随记
- MidpointLine