gpt4 book ai didi

c++ - 如何使用 Boost 在 $PATH 中查找 exe

转载 作者:太空宇宙 更新时间:2023-11-04 13:12:51 24 4
gpt4 key购买 nike

我正在使用 Boost 库编写 C++ 程序。我需要能够找到可执行文件的完整路径,只给出名称。这相当于 Unix shell 的 which 实用程序、Windows 的 where 或 Python 的 shutil.which

有没有办法做到这一点?我当然可以通过遍历 PATH 环境变量来编写自己的代码,但是为了可移植性,我需要考虑拆分 :; 等问题,以及如果有为此预先编写(并经过测试!)的例程,我更愿意使用它。

最佳答案

在 boost 中没有直接实现它的东西。您可以:

  1. getenv()读取PATH的内容, 使用 Boost File System以可移植的方式处理路径,并手动处理多路径拆分 - 似乎拆分字符的数量可能不多,只是一些替代方案
  2. invoke你的 shell 现有的 which 程序(或其变体)
  3. 调用一个简单的 python 程序调用 shutil.which,例如system("python -c\"import shutil; shutil.which('ls');\"")

关于c++ - 如何使用 Boost 在 $PATH 中查找 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38915465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com