c++字符串大小写切换
时间: 2024-09-18 11:03:36 浏览: 17
在C++中,可以使用标准库提供的`std::transform`函数配合`std::tolower`或`std::toupper`函数来实现字符串的大小写切换。这两个函数分别用于将字符转换为小写和大写。以下是一个简单的示例:
```cpp
#include <algorithm> // 包含transform和ctype头文件
#include <cctype> // 包含tolower和 toupper 函数
#include <string>
std::string to_upper(const std::string& str) {
std::string result = str;
std::transform(result.begin(), result.end(), result.begin(), ::toupper);
return result;
}
std::string to_lower(const std::string& str) {
std::string result = str;
std::transform(result.begin(), result.end(), result.begin(), ::tolower);
return result;
}
```
如果你想把整个字符串的每个字符都转换成相反的大小写,只需要分别调用这两个函数即可。如果你想要处理的是单个字符,可以直接应用相应的函数。
相关问题
C++字符串大小写转换
C语言中,可以使用库函数来实现字符串大小写转换。具体方法如下:
1. 将字符串转换为大写字母
可以使用库函数toupper()来将字符串中的小写字母转换为大写字母。该函数的原型为:
int toupper(int c);
其中,参数c是要转换的字符。
示例代码:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[] = "hello, world";
int i;
for (i = 0; str[i] != '\0'; i++) {
str[i] = toupper(str[i]);
}
printf("转换后的字符串为:%s", str);
return 0;
}
```
2. 将字符串转换为小写字母
可以使用库函数tolower()来将字符串中的大写字母转换为小写字母。该函数的原型为:
int tolower(int c);
其中,参数c是要转换的字符。
示例代码:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[] = "HELLO, WORLD";
int i;
for (i = 0; str[i] != '\0'; i++) {
str[i] = tolower(str[i]);
}
printf("转换后的字符串为:%s", str);
return 0;
}
```
C++字符串忽略大小写比较
在C++中,可以使用标准库函数`stricmp()`或`stricmp()`来进行字符串的忽略大小写比较。
```cpp
#include <iostream>
#include <cstring>
int main() {
char str1[] = "Hello";
char str2[] = "hello";
if (stricmp(str1, str2) == 0) {
std::cout << "Strings are equal (case insensitive)\n";
} else {
std::cout << "Strings are not equal (case insensitive)\n";
}
return 0;
}
```
输出结果为:
```
Strings are equal (case insensitive)
```
如果使用`stricmp()`,则忽略字符串中字母的大小写,如果相等返回0;否则返回一个非0值。注意,`stricmp()`是非标准函数,建议使用`strcasecmp()`代替。`strcasecmp()`是标准库函数,其用法与`stricmp()`相同。