C++中怎么对string类型字符串实现大小写不敏感处理啊?
比如:stringA="Strings";stringB="strings";这里的A、B要被认为是相等的,请各位高手指点指点,谢谢!~我想知道的是相应的库函数,比如针对...
比如:string A="Strings";
string B="strings";
这里的A、B要被认为是相等的,请各位高手指点指点,谢谢!~
我想知道的是相应的库函数,比如针对于char str[Len]类型的大小写不敏感函数_stricmp等等 展开
string B="strings";
这里的A、B要被认为是相等的,请各位高手指点指点,谢谢!~
我想知道的是相应的库函数,比如针对于char str[Len]类型的大小写不敏感函数_stricmp等等 展开
展开全部
你可以先用toupper或tolower
然后用
int compare( const basic_string &str );
int compare( const char *str );
int compare( size_type index, size_type length, const basic_string &str );
int compare( size_type index, size_type length, const basic_string &str, size_type index2,
size_type length2 );
int compare( size_type index, size_type length, const char *str, size_type length2 );
compare()函数以多种方式比较本字符串和str,返回:
返回值 情况
小于零 this < str
零 this == str
大于零 this > str
不同的函数:
比较自己和str,
比较自己的子串和str,子串以index索引开始,长度为length
比较自己的子串和str的子串,其中index2和length2引用str,index和length引用自己
比较自己的子串和str的子串,其中str的子串以索引0开始,长度为length2,自己的子串以index开始,长度为length
还可以用
==, >, <, >=, <=, and !=比较字符串. 可以用 + 或者 += 操作符连接两个字符串, 并且可以用[]获取特定的字符.
然后用
int compare( const basic_string &str );
int compare( const char *str );
int compare( size_type index, size_type length, const basic_string &str );
int compare( size_type index, size_type length, const basic_string &str, size_type index2,
size_type length2 );
int compare( size_type index, size_type length, const char *str, size_type length2 );
compare()函数以多种方式比较本字符串和str,返回:
返回值 情况
小于零 this < str
零 this == str
大于零 this > str
不同的函数:
比较自己和str,
比较自己的子串和str,子串以index索引开始,长度为length
比较自己的子串和str的子串,其中index2和length2引用str,index和length引用自己
比较自己的子串和str的子串,其中str的子串以索引0开始,长度为length2,自己的子串以index开始,长度为length
还可以用
==, >, <, >=, <=, and !=比较字符串. 可以用 + 或者 += 操作符连接两个字符串, 并且可以用[]获取特定的字符.
展开全部
可以通过已获取的变量的Ascii码的范围来判断当前变量是否属于大写或者小写字母,其实意思是只要判断当前字符是否为字母就行,相关函数isalpha(char),头文件ctype.h , 如果参数是字母则返回非0,否则返回0.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
现成的函数都是对大小写敏感的. 如果想要不敏感.必须自己动手把比较,查找等功能再重写一遍.不过一般不提倡.大小写不敏感的处理比较费时.不合算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样啊,你写一个函数,思想是这样的,A的ASCII码值是41H,a是61H
里边有一个,先用do while语句判断他们的长短,然后再把他们一个一个字母的比较,方法是,如果一个字母是大写,就把他转换成小写,如果是小字,则不用操作他,
就是先判断他的ascii码是不是大于61H,如果是的话,就把他减去30
你明白了吗?
因为我好长时间不用C++了,所以刚刚试着写,也写不出来 ,还得去翻书去,不好意思啊!
里边有一个,先用do while语句判断他们的长短,然后再把他们一个一个字母的比较,方法是,如果一个字母是大写,就把他转换成小写,如果是小字,则不用操作他,
就是先判断他的ascii码是不是大于61H,如果是的话,就把他减去30
你明白了吗?
因为我好长时间不用C++了,所以刚刚试着写,也写不出来 ,还得去翻书去,不好意思啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以考虑将字符串中每个字符查寻一遍,将字母统一修改成大写或小写字母,再后续处理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询