C/C++:字符串大小写转换的几种方式

目前有效且比较常用的方法有以下几种:

方法1:利用ASCII字符集中大写字母和小写字母的差异:32位 (a-97 / A-65)

方法2:利用 toupper() 和 tolower() 函数对字符进行转换

方法3:使用transform()函数进行字符串的大小写转换

方法4:使用_strlwr()和_strupr()对C语言风格字符进行大小写转换

#define _CRT_SECURE_NO_WARNINGS
#include 
#include 
#include 
#include 
using namespace std;// 转化方法1:利用ASCII字符集中大写字母和小写字母的差异:32位 (a-97 / A-65)
void ConversionofLetterOne()
{char ch;cin >> ch;if (ch >= 'a' && ch <= 'z')ch -= 32;else if (ch >= 'A' && ch <= 'Z')ch += 32;else{cout << "Invaild Word\n" << endl;return;}cout << ch << endl;
}// 转化方法2:利用 toupper() 和 tolower() 函数
void ConversionofLetterTwo()
{char ch;cin >> ch;if (ch >= 'a' && ch <= 'z')ch = toupper(ch);else if (ch >= 'A' && ch <= 'Z')ch = tolower(ch);else{cout << "Invaild Word\n" << endl;return;}cout << ch << endl;
}// 转化方法3:使用 transform() 函数
void ConversionofLettersThree()
{getchar();string str;getline(cin, str);transform(str.begin(), str.end(), str.begin(), toupper);cout << "str to upper = " << str << endl;transform(str.begin(), str.end(), str.begin(), tolower);cout << "str to lower = " << str << endl;return;
}// 转化方法3:使用 _strlwr() 和 _strupr() 函数
void ConversionofLettersFour()
{char s[100] = { "aaaBBBcccDDDeeeFFF" };// 转换为小写_strlwr(s);cout << s << endl;// 转换为大写_strupr(s);cout << s << endl;return;
}int main()
{ConversionofLetterOne();ConversionofLetterTwo();ConversionofLettersThree();ConversionofLettersFour();system("pause");return 0;
}

谢谢阅读


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部