字符串大小写转换和字符串的比较

字符串大小写相互转换

【1】ASCll码关系:’A’-‘Z’ 是65~90,’a’-‘z’是97-122,对应大小写字母ASCll值相差32。在加个循环条件便可转换。c++

单个字符 c :函数

大写变小写:c + 32 ;spa

小写变大写:c - 32 ;code

 char str[10] = "ABcd"
 // 所有转为小写
 for(int i=0; i<str.size(); i++)
 {
     if(str[i] >= 'a' && str[i] <= 'z')
     str[i] = str[i] - 32; // 小写变大写
     
     // else if(str[i] >= 'A' && str[i] <= 'Z')
     // str[i] = str[i] + 32; // 大写变小写
 }
     for(int i=0; i<str.size(); i++)
 {
    cout<<str[i];
 }

【2】c++中transform()函数。orm

该函数的使用须要引用头文件<algorithm>字符串

 string s1="AAAbbb";
 transform(s1.begin(),s1.end(),s1.begin(),toupper);
 cout<<"所有转化为大写:"<<s1<<endl;
 transform(s1.begin(),s1.end(),s1.begin(),tolower);
 cout<<"所有转化为小写:"<<s1<<endl;

字符串的大小比较

字符串比较:是指从左往右对单个字符或字符串进行比较大小的操做,通常都是以ASCII码值的大小做为字符比较的标准。string

【比较方法】it

  1. c语言strcmp(a, b)函数,比较两个字符串的大小,a < b 返回-1,a == b 返回0,a > b返回1。这里的比较方式是字典序!form

  2. c++ string类定义的字符串能够直接进行比较class

【注意事项】

  1. 两个不一样长度的字符串进行比较时,不是长的字符串就必定。如字符串s1为ABCE,字符串s2为ABCDEF。对 s1 与 s2 进行比较时,s1 的第4个字符是E,s2 的第4个字符是D,而D < E,因此s1 > s2。尽管 s2 比s1长。

  2. 当字符串有空格时,空格也参加比较。如s1为 b ook(表示空格),s2 为book,显示-79,故s1 < s2

  3. 大写字母和小写字母的ASCII代码值是有区别的,因此,yes > YEs

  4. 当字符串所有用英文字母的大写(或小写)组成时,字符串的大小顺序和它们在字典中的顺序相同,本质仍是ASCll码的大小比较

  5. 由汉字组成的字符串能够参加比较。如李红 < 王军。它们的大小实际是由其拼音构成的字符串的大小来决定的。上例即:LIHONG < WANGJUN

回车,ASCII码13 换行,ASCII码10 空格,ASCII码32

相关文章
相关标签/搜索