继续昨天未写完的...我是初学者,如果觉得太简单,勿喷,如果有什么错误之处,请指出,多谢~!
今天整理了写的根据文件路径截取文件名相关代码,主要包含替换路径中的“/”为“'\”,然后根据“\”截取最后的字符串,即文件名
一、字符串完全替换
以下方法可以替换掉所有的src,替换为dst
/** * 字符串替换 将str中所有的src替换为dst */void SlpcalHelper::string_replaceAll(std::string &str, const std::string &src, const std::string &dst) { std::string::size_type pos = 0; std::string::size_type srclen = src.size(); std::string::size_type dstlen = dst.size(); while ((pos = str.find(src, pos)) != std::string::npos) { str.replace(pos, srclen, dst); pos += dstlen; } }
获取文件名
以下是获取文件名
// 先替换字符串string_replaceAll(strPath, "/", "\\");// 获取文件名std::string tempFileName = strPath.substr(strPath.find_last_of("\\") + 1);
但是有时候,我们不需要文件后缀,于是就有了以下代码:
std::string fileName= strPath.substr(strPath.find_last_of("\\") + 1, strPath.find_last_of(".")) ;
当然,中间的两个位置自行先判断大小,我这只是截取最后一个“\”到最后一个“.”中间的字符串,并未考虑异常情况。
作者:ThinkinLiu
链接:https://www.jianshu.com/p/1486b8a9ea0c
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦