21xrx.com
2024-11-22 05:24:07 Friday
登录
文章检索 我的文章 写文章
C++字符串转换为大写或小写的方法
2023-07-13 21:37:30 深夜i     --     --
C++ 字符串 转换 大写 小写

在C++编程中,有时候我们需要将字符串中的字母全部转化为大写或小写。这个操作可以使用一些内置的C++函数来完成。本文将会针对这个问题,介绍C++中字符串转化为大写或小写的方法。

方法一:使用toupper() 和 tolower()

toupper()函数用来将小写字母转化为大写字母,而tolower()函数则是将大写字母转化为小写字母。

代码如下:


#include <iostream>

#include <cstring>

#include <cctype>

using namespace std;

// 转为大写

void to_upper(string str)

{

  for (int i = 0; i < str.length(); i++)

  {

    cout << (char)toupper(str[i]); // 输出大写字母

  }

}

// 转为小写

void to_lower(string str)

{

  for (int i = 0; i < str.length(); i++)

  {

    cout << (char)tolower(str[i]); // 输出小写字母

  }

}

int main()

{

  string str = "Hello World";

  to_upper(str); // 输出HELLO WORLD

  cout << endl;

  to_lower(str); // 输出hello world

  cout << endl;

  return 0;

}

方法二:使用transform()函数

transform()函数可以将字符串中的字符映射到另一个字符集中,这样就可以完成单词的大小写转换。在这个例子中,我们使用了std::transform()函数,并传入两个迭代器,一个代表源字符串的头部,另一个代表结束的位置。还需要传入一个表示新字符串的头部迭代器和一个lambda函数,这个lambda函数将字符串中的每个字符都转化为大写字符。

代码如下:


#include <iostream>

#include <cstring>

#include <algorithm>

using namespace std;

int main()

{

  string str = "Hello World";

  string result;

  transform(str.begin(), str.end(), result.begin(), [](unsigned char c){return toupper(c);}); // 转化为大写

  cout << result << endl; // 输出 HELLO WORLD

  transform(str.begin(), str.end(), result.begin(), [](unsigned char c){return tolower(c);}); // 转化为小写

  cout << result << endl; // 输出 hello world

  return 0;

}

这两种方法都可以有效的将字符串中的字符转化为大写或小写的字符。但是在使用时需要注意字符串转化完后要将结果保存到另一个字符串中,否则可能会影响原字符串的数据。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复