c++字符串大小写转换
时间: 2023-11-27 14:35:51 浏览: 84
C++字符串转换
要实现C字符串的大小写转换,可以使用以下方法之一:
方法一:使用string类
可以自己手写两个转化为大写和小写的方法,如下所示:
```cpp
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
void mytolower(string& s){
int len = s.size();
for(int i = 0; i < len; i++){
if(s[i >= 'A' && s[i <= 'Z'){
s[i += 32; // 32转换为小写
}
}
}
void mytoupper(string& s){
int len = s.size();
for(int i = 0; i < len; i++){
if(s[i >= 'a' && s[i <= 'z'){
s[i -= 32; // 32转换为大写
}
}
}
int main() {
cout << "请输入一个含大写的字符串:";
string str;
cin >> str;
// 转小写
mytolower(str);
cout << "转化为小写后为:" << str << endl;
// 转大写
mytoupper(str);
cout << "转化为大写后为:" << str << endl;
return 0;
}
```
方法二:使用char数组
如果使用char数组,可以使用`s[i] = 32`或者`s[i] = s[i] - 'A' + 'a'`的形式,实现两个转化为大写和小写的方法,如下所示:
```cpp
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
void mytolower(char *s){
int len = strlen(s);
for(int i = 0; i < len; i++){
if(s[i >= 'A' && s[i <= 'Z'){
s[i += 32; // 32转换为小写
}
}
}
void mytoupper(char *s){
int len = strlen(s);
for(int i = 0; i < len; i++){
if(s[i >= 'a' && s[i <= 'z'){
s[i -= 32; // 32转换为大写
}
}
}
int main() {
cout << "请输入一个含大写的字符串:";
char s >= 'A' && s[i <= 'Z'){
s[i = tolower(s[i]);
}
}
}
void mytoupper(char *s){
int len = strlen(s);
for(int i = 0; i < len; i++){
if(s[i >= 'a' && s[i <= 'z'){
s[i = toupper(s[i]);
}
}
}
int main() {
cout << "请输入一个含大写的字符串:";
char s
阅读全文