【问题标题】:Replacement for deprecated boost filesystem initial_path替换已弃用的 boost 文件系统 initial_path
【发布时间】:2011-05-24 19:00:39
【问题描述】:

正如标题所说,我正在寻找一种方法来执行 initial_path()。 如您所见,这里没有替代品: http://www.boost.org/doc/libs/1_46_0/libs/filesystem/v3/doc/deprecated.html

【问题讨论】:

    标签: boost filesystems deprecated


    【解决方案1】:

    为什么不自己记住一些变量呢?为什么你需要提升来处理这个问题?正如他们在文档中所说,这由用户轻松处理。

    【讨论】:

    • 好的,但是我如何获得初始静态全局变量。使用 current_path?
    • 好的,tnx。他们可能删除了它,因为它不是线程安全的,AFAIK。
    【解决方案2】:

    您是否正在寻找一种方法来获取可执行文件的完整路径?

    阅读此SO question

    我认为答案如下(感谢 Mike)

    Here's code to get the full path to the executing app:
    
    Windows:
    
    int bytes = GetModuleFileName(NULL, pBuf, len);
    if(bytes == 0)
            return -1;
    else
            return bytes;
    
    Linux:
    
    char szTmp[32];
    sprintf(szTmp, "/proc/%d/exe", getpid());
    int bytes = MIN(readlink(szTmp, pBuf, len), len - 1);
    if(bytes >= 0)
            pBuf[bytes] = '\0';
    return bytes;
    

    【讨论】:

    • Tnx,但我需要一种便携的方式,这就是为什么我使用 boost [/commercial :P]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 2021-12-24
    相关资源
    最近更新 更多