【发布时间】:2021-08-11 06:18:51
【问题描述】:
我有一个类似于 char 的向量
C:/Users/person/Desktop/Albedo.pngC:/Users/person/Desktop/Metallic.pngC:/Users/person/Desktop/Noice.pngC:/Users/person/Desktop/AO.png
如何将向量拆分为单独的路径? 也就是说,我想拥有
std::string path1; // = C:/Users/person/Desktop/Albedo.png;
std::string path2; // = C:/Users/person/Desktop/Metallic.png;
std::string path3; // = C:/Users/person/Desktop/Noice.png;
std::string path4; // = C:/Users/person/Desktop/AO.png;
知道我该怎么做吗? 提前致谢!
【问题讨论】:
-
不清楚您要做什么。使用 winapi 的
splitpath和/或std::getline。 -
std::getline会帮忙吗?我不这么认为。我去看看Winapi的splitpath,谢谢! -
您也可以查看
<filesystem>。 -
除非有固定数量的“个别路径”,否则提取一个
std::vector<std::string>,而不是不同的变量。无论如何,每个字符串的开头都由一个由字母(驱动器)组成的三元组表示,然后是':',然后是'/'。找出如何循环遍历向量以搜索该三元组,并将两个三元组之间的字符提取为字符串。此外,某些系统(例如 Windows)还使用'\'(必须在char或字符串文字中分隔)作为路径分隔符。不,我不会写代码——你需要付出一些努力来解决你的问题 -
我没有看到完整的字符串 - 我正在打电话。请忽略我的cmets。
标签: c++ algorithm iterator stdvector stdstring