【问题标题】:Convert URI to path将 URI 转换为路径
【发布时间】:2017-08-09 01:05:03
【问题描述】:

我正在开发一个 Windows C++ 应用程序,在其中我得到一个类似于 file:///C:/test 1/file.foo 的 URI。现在我想例如使用 ifstream 打开该 URI。

Windows 上是否有任何可用的 C/C++ API 来转换这样的路径?

我的 Google Foo 今天似乎很弱。

【问题讨论】:

  • 只删除"file:///" 部分?或者得到其余的子串?如果 URI 不以 "file:///" 开头,那么无论如何它都不应该作为文件打开。
  • 然后有% 转义和可能存在检查。这并不像你想象的那么容易。
  • 周围有很多库和函数可以解码 URI。我不敢相信你找不到一个。问题必须在这里被问过很多次。更加努力地搜索。

标签: c++ windows winapi


【解决方案1】:

multiple文件URI“版本”,所以你不应该自己parse,还有一些the APIs are broken

如果您只需要 Windows 样式的路径,请致电 PathCreateFromUrl

如果您不想转换路径,则必须使用 CreateURLMonikerExSHParseDisplayName(带有绑定上下文),但最终会使用 Windows IStream

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 2015-02-20
      • 2021-10-02
      • 2018-12-04
      相关资源
      最近更新 更多