加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

扩展c字符串成员函数

发布时间:2020-12-16 06:03:26 所属栏目:百科 来源:网络整理
导读:我需要做一个不区分大小写的查找,并找到了以下代码 bool ci_equal(char ch1,char ch2){ return toupper((unsigned char)ch1) == toupper((unsigned char)ch2);}size_t ci_find(const string str1,const string str2){ string::const_iterator pos = std::sea
我需要做一个不区分大小写的查找,并找到了以下代码
bool ci_equal(char ch1,char ch2)
{
    return toupper((unsigned char)ch1) == toupper((unsigned char)ch2);
}

size_t ci_find(const string& str1,const string& str2)
{
    string::const_iterator pos = std::search(str1. begin ( ),str1. end ( ),str2.
    begin ( ),str2. end ( ),ci_equal);
    if (pos == str1. end ( ))
        return string::npos;
    else
        return pos - str1. begin ( );
}

这让我想知道如何使它成为“string”的成员函数,因此可以这样调用:

string S="abcdefghijklmnopqrstuv";
string F="GHI";

S.ci_find(F);

我意识到非英语语言中的案例转换有很多问题,但这不是我感兴趣的问题.

作为一个新手,我很快迷失了容器和模板.

有没有这样做?有人可以给我一个类似的东西吗?

解决方法

std :: string不会被扩展.

您可以将std :: string封装在一个类中,并在该类中设置这些成员函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读