为了账号安全,请及时绑定邮箱和手机立即绑定

c++基础(二):字符串替换及文件路径截取文件名

标签:
C++

继续昨天未写完的...我是初学者,如果觉得太简单,勿喷,如果有什么错误之处,请指出,多谢~!

今天整理了写的根据文件路径截取文件名相关代码,主要包含替换路径中的“/”为“'\”,然后根据“\”截取最后的字符串,即文件名

一、字符串完全替换

以下方法可以替换掉所有的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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消