如何在C++中实现字母大小写的相互转换?
时间: 2024-10-08 21:18:17 浏览: 108
C、C++实现字母/英文句子大小写转换
在C++中,实现字母大小写转换通常通过使用标准库函数来完成。以下是一些常见的方法:
1. 对于单个字符转换:
- 转小写:可以使用`tolower()`函数,如果是在`<cctype>`头文件中声明的,则需要包含这个头文件。例如:
```cpp
char c = 'A'; // 字母大写
c = tolower(c); // 转换为小写
```
- 转大写:类似地,可以使用`toupper()`函数,如:
```cpp
char c = 'a'; // 字母小写
c = toupper(c); // 转换为大写
```
2. 对于字符串转换:
- 使用`std::transform()`和相应的内联函数,遍历整个字符串进行转换:
```cpp
std::string str = "hello";
std::transform(str.begin(), str.end(), str.begin(), ::tolower); // 将所有字符转为小写
```
或者用`std::toupper()`处理每个字符:
```cpp
for (char& ch : str) {
ch = toupper(ch);
}
```
3. 对于C风格数组:
```cpp
char arr[] = {'H', 'e', 'l', 'l', 'o'};
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i) {
arr[i] = isupper(arr[i]) ? tolower(arr[i]) : toupper(arr[i]);
}
```
阅读全文