`

C++获取应用程序所在路径

阅读更多

用C++写个小程序,由于环境很简单,不想调用系统API,通过以下方法实现:

    //argv[0]是当前运行程序的全路径名
    string filename(argv[0]);
    //测试发现Windows下居然获取的路径分隔符居然有\也有/
    size_t found = filename.find_last_of("\\");
    size_t found2 = filename.find_last_of("/");
    //得到最后一个分隔符
    found = (found >= found2 ? found : found2);
    //获取运行程序当前的目录
    string cwd = filename.substr(0, found);
//上面的代码有一个问题,就是执行的时候必须是全路径,要不只有文件名,于是还有下面一种方法
char filepath[256];
getcwd(filepath, 256);
分享到:
评论

相关推荐

    Visual C++ 完全自学宝典 (部分章节) 电子书 PDF

     15.4 使应用程序在同一时刻只能运行一个实例  15.5 创建选择文件夹的对话框  15.6 使窗口置顶  15.7 使应用程序支持启动参数  15.8 获得程序自身所在的目录  15.9 如何播放WAV文件  15.10 更改选择...

    在C++程序中使用QML

    QML还包含了API的一个方便,通过QDeclarativeView 应用程序只需要简单嵌入QML组件到一个新的QGraphicsView就可以了。这有许多细节将在下面讨论。QDeclarativeView 主要是用于快速成型的应用程序里。 如果你是重新...

    C++网络爬虫项目

    代表整个应用程序的逻辑对象,构建并维护包括日志、配置器、多路I/O、插件 管理器、统一资源定位符队列、域名解析线程等在内的多个底层设施,提供诸 如初始化、执行多路输入输出循环、启动抓取任务等外部接口。 ...

    vc++ 应用源码包_6

    精灵系统,一套MFC渲染引擎,含2D/3D等渲染,效果看源码,IFEngine是整个引擎接口,IFSystem是硬件查询系统,IFApplication是应用程序对象基类。 FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可...

    editplus 代码编辑器html c++ jsp css

    ④ 模板设置文件名称为“template.ini”,如果和主程序同一路径,可以使用相对路径 罗嗦了点,不过管用 要自动创建带有某种后缀的文件,方法同上。 【9】软件技巧——提示找不到语法文件 *.stx 的解决办法 原因多为...

    VC驿站基础班无KEY高清C++教程下载地址

    ②、应用程序当前目录的获取与设置及存在的问题讲解; ③、可执行文件所在目录[包括EXE和DLL]; ④、工程当前目录与Debug调试目录的不同。 22、系统信息的获取 ①、当前用户名称、计算机名称的获取; ②、CPU...

    vc++ 应用源码包_1

    精灵系统,一套MFC渲染引擎,含2D/3D等渲染,效果看源码,IFEngine是整个引擎接口,IFSystem是硬件查询系统,IFApplication是应用程序对象基类。 FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可...

    vc++ 开发实例源码包

    精灵系统,一套MFC渲染引擎,含2D/3D等渲染,效果看源码,IFEngine是整个引擎接口,IFSystem是硬件查询系统,IFApplication是应用程序对象基类。 FlashPlayer播放器4.0的VC++源代码 如题。 FreeBird2011最初版(模仿...

    精通Windows.API-函数、接口、编程实例.pdf

    4.3.4 获取程序所在的目录、程序模块路径,获取和设置当前目录 97 4.3.5 查找文件、遍历指定目录下的文件和子目录 100 4.3.6 递归遍历目录树 103 4.3.7 获取、设置文件属性和时间 105 4.4 内存映射文件 ...

    精通WindowsAPI 函数 接口 编程实例

    4.3.4 获取程序所在的目录、程序模块路径,获取和设置当前目录 97 4.3.5 查找文件、遍历指定目录下的文件和子目录 100 4.3.6 递归遍历目录树 103 4.3.7 获取、设置文件属性和时间 105 4.4 内存映射文件 ...

    易语言程序免安装版下载

    “库文件名”以.lib或.obj为后缀的将被视为静态库,可使用绝对路径或相对路径(相对当前源代码所在目录),如依赖多个静态库请分别列出并以逗号分隔;“在库中的对应命令名”请务必准确填写静态库中公开导出的符号...

Global site tag (gtag.js) - Google Analytics