【发布时间】:2015-12-20 13:28:25
【问题描述】:
假设我有以下结构:
C:\Users\User\AppData\Folder\subfolder.suffix\wanted_file.txt
- 我们知道
Folder中只有一个.suffix子目录,但我们只能确定它的前缀(名称可能不同)。 - 我怎样才能到达
wanted_file.txt?
我尝试过类似的方法:
std::string halfpath = getenv("APPDATA");
std::string anotherhalfpath = "\\Folder\\*.suffix\\wanted_file.txt";
std::string finalpath = halfpath + anotherhalfpath;
这种方式不起作用(它会打印 6-7 个随机字符)。
如果我从整个路径中删除\\*.prefix\\wanted_file.txt,finalpath 将与cout 一起打印,所以我认为我尝试过的语法并不好。
如果可能的话,我想要一个不涉及 require boost 的解决方案。
【问题讨论】:
-
在一个不相关的注释中,这里的术语似乎有点不对劲,“前缀”是放在 之前的东西,而“后缀”是放在 之后.
-
这只是一个错字,将进行更改
-
如果您将自己限制在 Windows 上,这似乎从问题中可以看出,您可以使用 FindFirstFile 和接受通配符的朋友。或者甚至只是使用带有“C:\Users\User\AppData\Folder\*”的 FindFirstFile 来获取目录的名称。
-
我要试试@MikeVine
-
@MikeVine,您能否在回答中改进您的评论?
FindFirstFile可能会完成它的工作,但我无法让它工作,因为它包含windows.h,我必须转换所有内容。
标签: c++