c++实现basename

window API居然不包含Linux中很好用的basename函数,实现了一下,留个记录,省得日后重复写。

std::string m_basename(std::string fullPath)
{size_t index_1 = fullPath.find_last_of("/");size_t index_2 = fullPath.find_last_of("\\");if (index_1 == std::string::npos && index_2 == std::string::npos)return fullPath;size_t idx = 0;if (index_1 == std::string::npos){idx = index_2;}else if (index_2 == std::string::npos){idx = index_1;}else{idx = (index_1 > index_2) ? index_1 : index_2;}std::string basename = fullPath.substr(idx + 1, fullPath.length() - idx);return basename;
}

本文链接:https://my.lmcjl.com/post/1303.html

展开阅读全文

4 评论

留下您的评论.