字符串大小写转换与字符串比较
字符串大小写转换与字符串比较
字符串数组英文大小写相互转换
基于 ASCII 码的转换方式:在 ASCII 编码中,’A’ – ‘Z’ 的值范围是 65 到 90,’a’ – ‘z’ 的值范围是 97 到 122,对应的英文大小写字母 ASCII 值相差 32。借助循环结构,就能实现大小写的转换。
对于单个字符 c :
大写转小写: c = c + 32 ;
小写转大写: c = c – 32 ;
示例代码:
char str[10] = “ABcd”;
// 所有变为小写字母
for(int i = 0; i < 10; i++) {
if(str[i] >= ‘A’ && str[i] <= ‘Z’) {
str[i] = str[i] + 32;
}
}
使用 C++ 中的 transform() 函数:该函数用于字符串大小写转换,使用时需要引入 <algorithm> 库函数。
示例代码:
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string s1 = “AAAbbb”;
// 全部转换为大写
std::transform(s1.begin(), s1.end(), s1.begin(), ::toupper);
std::cout << s1 << std::endl;
return 0;
}
字符串数组的大小比较
字符串比较,是指从左到右对单个字符或字符串数组进行大小比较的操作,通常以 ASCII 码值的大小作为字符比较的标准。
比较方法:
C 语言中的 strcmp(a, b) 函数:用于比较两个字符串数组的大小。当 a < b 时,返回 -1;当 a == b 时,返回 0;当 a > b 时,返回 1。这里的比较方式遵循字典序。
C++ 中 string 类定义的字符串数组:可以直接进行比较。
注意事项:
字符串长度与大小关系:两个不同长度的字符串进行比较时,长度长的字符串不一定更大。例如,字符串 s1 为 “ABCE”,字符串 s2 为 “ABCDEF”。比较 s1 与 s2 时, s1 的第 4 个字符是 ‘E’, s2 的第 4 个字符是 ‘D’,由于 ‘D’ 的 ASCII 码值小于 ‘E’ 的 ASCII 码值,所以 s1 > s2 ,即便 s2 的长度比 s1 长。
字符串中的空格参与比较:当字符串中有空格时,空格也会参与比较。例如, s1 为 ” b ook”(表示空格), s2 为 “book”,此时比较结果表明 s1 < s2 。
大小写字母的 ASCII 编码差异:大写字母和小写字母的 ASCII 编码值不同,所以 “yes” > “YEs”。
纯字母字符串比较规律:当字符串全部由英文字母的大写(或小写)组成时,字符串的大小顺序和它们在字典中的顺序相同,本质上还是 ASCII 码值的大小比较。
汉字字符串的比较:由汉字组成的字符串也能参与比较。例如,”张静” < “张军”。它们的大小实际上是由其拼音组成的字符串的大小来决定的。比如上述例子即:”LIHONG” < “WANGJUN”。
另外,一些常见特殊字符的 ASCII 码值如下:
回车键,ASCII 码值为 13;
自动换行,ASCII 码值为 10;
空格符,ASCII 码值为 32 。
2. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用!
8. 如用于商业或者非法用途,与本站无关,一切后果请用户自负!
启辰源码 - 一站式源码与模板下载平台 » 字符串大小写转换与字符串比较