zoukankan      html  css  js  c++  java
  • 使用boost库获取应用程序的所在目录

    作者:朱金灿
    来源:http://blog.csdn.net/clever101/


          在Windows平台下我们知道可以使用API函数GetModuleFileName来获取应用程序的路径。最近发现boost库也可以实现这个功能,个人感觉用起来更方便。


           用法很简单,具体代码如下:


          我是使用VS 2008(带sp1)编译这个程序的。值得注意的是要顺利获取exe的路径,还得在VS 中将工作目录设置为应用程序的输出路径,如下图:


    exe path which boost get


       
          否则获取的就不是正确的应用程序路径了(貌似是当前目录路径,不过这个我没有验证)。其它编译器要做何设置有待其它同学研究。


          注意,使用boost库的这种方法获取的是应用程序所在的目录,而使用API函数GetModuleFileName获取的是应用程序的全路径,如boost方法获取的是e:/BoostLearn/outdir/Debug,而API函数GetModuleFileName获取的是e:/BoostLearn/outdir/debug/BoostBind.exe(你可以看到boost获取的路径用的是'/',而GetModuleFileName用的是'/',可以肯定的是这个只是形式不一样,都是正确的路径)。


          在实际中我们常常需要的只是应用程序所在的目录,而使用API函数GetModuleFileName获取的是应用程序的全路径还要对字符串进行分割,所以我说boost库的方法更方便。另外一个不确定的好处是这会不会是一种跨平台的获取应用程序路径的做法。







  • 相关阅读:
    PHP用*号替代姓名除第一个字之外的字符
    苹果笔记本下载的应用打不开或提示损坏怎么办
    codeigniter教程:Codeigniter出现Unable to connect to your databas
    Python3.6.0安装
    某游戏应用的redis 数据库结构设计(转)
    True(False) Positives (Negatives), 召回率和精度定义
    儿童书库
    年轻人必须知道的71个做饭技巧
    20种泡菜做法[3到5天就可以吃了]
    读懂此文——股市就是你的取款机
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6471014.html
Copyright © 2011-2022 走看看