字符串数组英文英文大小写相互之间变换

【1】ASCll码关系:’A’-‘Z’ 是65~90,’a’-‘z’是97-122,相符合英文大小写ASCll值距离32。在加个循环系统系统软件规范就可以变换。

独立标志符 c :

英文大写变小写:c 32 ;

小写变大写:c – 32 ;

 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()涵数。

该涵数的使用务必引进库涵数<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码值的规格作为标志符比较的标准。

【比较方法

  1. c语言表达strcmp(a, b)涵数,比较2个字符串二维数组的规格,a < b 返回-1,a == b 返回0,a > b返回1。这里的比较方式是字典序!

  2. c string类定义的字符串二维数组可以立刻进行比较

普遍难题

  1. 2个不一样长度的字符串二维数组进行比较时,并没有长的字符串二维数组就一定。如字符串二维数组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