君子性非异也,善假于物也。
如有恒,何须三更起,半夜眠;最怕莫,三天打鱼两天晒网,竹篮打水一场空!
posts - 31, comments - 23, trackbacks - 0, articles - 30
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
MFC中获取程序运行的路径
Posted on 2006-10-31 21:56
neter
阅读(2787)
评论(2)
编辑
收藏
引用
所属分类:
程序设计
在程序中有时候需要加载磁盘上资源文件的绝对路径(例如VC6中的FLASH播放组件),为了很好的实现这个功能我们就必须得获取到其资源所在的绝对路径,那么怎么来获取这个绝对的路径呢?好,现在让下面的例子来解开这个迷惑吧!~
一、常规的做法:
1.用API GetModuleFileName来获取可执行行文件的路径;
2.将获取的字符串中的最后一个 '\\'之后的字符全部去掉;
3.剩下的字符串即是我们所需要的;
1
CString CXXXX::GetPath()
2
{
3
char
path[
256
]
=
"
\0
"
;
4
GetModuleFileName(NULL, path,
256
);
5
char
*
p
=
path
+
strlen(path);
6
while
(p
!=
NULL
&&
p
>
path
&&
*
p
!=
'
\\
'
)
7
{
8
p
--
;
9
}
10
char
temp[
256
]
=
"
\0
"
;
11
strncpy(temp,path,(p
-
path));
12
return
CString(temp);
13
}
二、利用C库函数来去掉后缀
1
TCHAR path[MAX_PATH];
2
GetModuleFileName(NULL, path, MAX_PATH);
3
*
strrchr(path,
'
\\
'
)
=
'
\0
'
;
// path 即为需要的路径
Feedback
#
re: MFC中获取程序运行的路径
回复
更多评论
2008-06-07 22:54 by
天外有天
谢谢了
#
re: MFC中获取程序运行的路径
回复
更多评论
2008-06-07 23:39 by
missdeer
有个API可以直接去掉文件名
PathRemoveFileSpec
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
[转]Win32应用程序中进程间通信方法分析与比较
BCD码
[转]编写高效的数据库连接池
[MSDN]使用连接池
[转]VC中基于 Windows 的精确定时
基于 Visual C++6.0 的 DLL 编程实现
[后记]大瓶子与小瓶子的问题
大瓶子与小瓶子的问题
用C描述MD5算法
初识MD5算法
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © neter
日历
<
2006年11月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
公告
如有侵犯您的版权,请来信告知,我将立即删除,谢谢!
随笔分类
程序设计(21)
狂人日记(10)
文章分类
Android相关(1)
软件测试初探(5)
数字图像(11)
探索嵌入式开发(4)
网络与通信(3)
英语学习(6)
不错的站点
codeguru
codeproject
csdn
vchelp
搜索
积分与排名
积分 - 41286
排名 - 520
最新评论
1. re: [转]编写高效的数据库连接池
不错
--tianliang
2. re: JPEG压缩编码标准[未登录]
good!
--123
3. re: 初中英语语法学习顺口溜
Thank you
--inliner
4. re: [转]图像处理网络资源[未登录]
好东西哪,,,。。
--可可
5. re: JPEG压缩编码标准
很不错啊,有些地方讲的很不清楚,这个很好
--沙田西瓜
阅读排行榜
1. MFC中获取程序运行的路径(2787)
2. [转]编写高效的数据库连接池(1818)
3. 文件系统监控(1575)
4. C中的跳转语句[非goto](1164)
5. 简单文件分割(06川大考研最后一题)(783)