21xrx.com
2025-03-27 05:11:50 Thursday
文章检索 我的文章 写文章
C++字符串大小写转换教程
2023-07-05 01:06:44 深夜i     38     0
C++ 字符串 大小写转换 教程 转换函数

在C++中,需要对字符串的大小写进行转换时,可以使用一些字符串函数和条件语句来实现。本文将介绍几种常用的字符串大小写转换方法。

1. 转换成全部大写或小写

可以使用标准库函数`toupper()`和`tolower()`将字符串转换成全部大写或小写。具体实现代码如下:

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
// 将字符串转换成大写
void toUpper(string& str) {
  transform(str.begin(), str.end(), str.begin(), ::toupper);
}
// 将字符串转换成小写
void toLower(string& str) {
  transform(str.begin(), str.end(), str.begin(), ::tolower);
}
int main() {
  string s = "Hello World!";
  toUpper(s);
  cout << s << endl; // 输出:HELLO WORLD!
  toLower(s);
  cout << s << endl; // 输出:hello world!
  return 0;
}

2. 首字母大写或小写

可以通过修改字符串的第一个字符的大小写来实现首字母大写或小写的功能。具体实现代码如下:

#include <iostream>
#include <string>
using namespace std;
// 将字符串的首字母转换成大写
void capitalize(string& str) {
  if (!str.empty()) {
    str[0] = toupper(str[0]);
  }
}
// 将字符串的首字母转换成小写
void decapitalize(string& str) {
  if (!str.empty()) {
    str[0] = tolower(str[0]);
  }
}
int main() {
  string s = "hello world!";
  capitalize(s);
  cout << s << endl; // 输出:Hello world!
  decapitalize(s);
  cout << s << endl; // 输出:hello world!
  return 0;
}

3. 全部单词首字母大写

可以用空格作为分隔符,将字符串分割成单词,然后对每个单词的首字母进行大写转换。具体实现代码如下:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
// 将字符串的单词的首字母转换成大写
void titleCase(string& str) {
  istringstream iss(str);
  string word;
  str.clear();
  while (iss >> word) {
    if (!str.empty()) {
      str += " ";
    }
    capitalize(word);
    str += word;
  }
}
int main() {
  string s = "hello world!";
  titleCase(s);
  cout << s << endl; // 输出:Hello World!
  return 0;
}

通过以上三种方法,我们可以方便地实现C++字符串大小写转换。需要注意的是,在实际应用中,还需要考虑特殊字符和空格等情况。

  
  

评论区