【发布时间】:2011-05-17 21:36:14
【问题描述】:
好的,首先我不想使用 Boost 或任何外部库。我只想使用 C++ 标准库。我可以使用我的split() 函数轻松地拆分带有给定分隔符的字符串:
void split(std::string &string, std::vector<std::string> &tokens, const char &delim) {
std::string ea;
std::stringstream stream(string);
while(getline(stream, ea, delim))
tokens.push_back(ea);
}
我对文件名执行此操作。但是有一个问题。有些文件的扩展名如下:tar.gz、tar.bz2 等。还有一些文件名带有额外的点。 Some.file.name.tar.gz。我希望将Some.file.name 和tar.gz 分开注意:文件名中的点数不是恒定的。
我也试过PathFindExtension,但没有运气。这可能吗?如果有,请赐教。谢谢。
编辑:我很抱歉没有指定操作系统。是 Windows。
【问题讨论】:
-
您只想使用 C++ 标准库,所以您尝试使用操作系统特定的函数
PathFindExtension...