21xrx.com
2024-12-22 21:41:59 Sunday
登录
文章检索 我的文章 写文章
C++将字符串转换为小写字母(lowercase)
2023-07-11 11:48:18 深夜i     --     --
C++ 字符串 转换 小写字母 lowercase

C++是一种非常流行的编程语言,在实际的开发中,我们经常需要将一些字符串转换为小写字母。C++中提供了一些函数来完成这个任务,下面我们来一一介绍。

首先,C++标准库中提供了一个tolower()函数,该函数接受一个字符作为参数,并返回一个转换为小写后的字符。因此,我们可以通过遍历字符串中的每个字符,然后将其转换为小写来实现整个字符串的转换。

接下来,C++11标准引入了一个非常有用的函数transform(),它可以将一个区间内的元素应用一个指定的操作。我们可以利用transform()函数,将字符串中每个字符转换为小写。

另外,C++ Boost库中的algorithm/string.hpp头文件提供了一个更高级的函数to_lower()。该函数可以将一个字符串中所有的字符转换为小写,而不用像tolower()函数需要遍历每个字符那样繁琐。这个函数非常方便,特别是当我们需要处理大量字符串时,效率也比较高。

下面是使用以上函数实现字符串转换为小写字母的代码示例:


#include <iostream>

#include <algorithm>

#include <boost/algorithm/string.hpp>

using namespace std;

int main()

{

  // 使用标准库函数tolower()转换字符串为小写

  string str1 = "Hello, World!";

  for(char& c : str1)

    c = tolower(c);

  cout << str1 << endl;

  // 使用标准库函数transform()转换字符串为小写

  string str2 = "Hello, C++!";

  transform(str2.begin(), str2.end(), str2.begin(), ::tolower);

  cout << str2 << endl;

  // 使用Boost库函数to_lower()转换字符串为小写

  string str3 = "Hello, Boost!";

  boost::to_lower(str3);

  cout << str3 << endl;

  return 0;

}

上面代码中,我们分别使用了三种方法转换了三个字符串为小写字母,并打印输出结果。笔者使用的是C++14标准编译的,如果读者使用的是C++11标准则需要将::tolower替换成std::tolower。

总之,C++中提供了各种函数来完成字符串转换为小写字母这个任务。具体采用哪种方法可以根据实际的需求来选择。但需要注意的是,对于全局字符变量,不能使用tolower()函数进行直接赋值,否则会出现奇怪的编译错误,需要使用C风格的tolower()函数来进行转换。

  
  

评论区

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