21xrx.com
2024-11-25 05:08:27 Monday
登录
文章检索 我的文章 写文章
C++字母大小写转换函数的实现
2023-07-09 14:00:10 深夜i     --     --
C++ 字母 大小写 转换函数 实现

在C++编程中,实现字母大小写转换的函数是很常见的需求。当处理字符串或字符数组时,需要将大写字母转换为小写字母或者将小写字母转换为大写字母。本文将介绍如何实现这样的函数。

1. 大写字母转小写字母

要将大写字母转换成小写字母,可以使用ASCII码表中字母的表示方式。大写字母A到Z的ASCII码值是65到90,而小写字母a到z的ASCII码值是97到122。因此,将大写字母转换为小写字母,只需要将其ASCII码值加上32即可。

下面是一个实现大写字母转小写字母的函数示例:


void toLowerCase(char* str) {

  int i = 0;

  while (str[i] != '\0') {

    if (str[i] >= 'A' && str[i] <= 'Z') {

      str[i] += 32;

    }

    i++;

  }

}

该函数采用了字符串指针的形式,使用while循环遍历字符串中的每个字符。如果遇到大写字母,则将其ASCII码值加上32。最终,函数将把字符串中所有的大写字母转换成小写字母。

2. 小写字母转大写字母

与大写字母转小写字母类似,要将小写字母转换成大写字母,也可以使用ASCII码表中的表示方式。小写字母a到z的ASCII码值是97到122,而大写字母A到Z的ASCII码值是65到90。因此,将小写字母转换为大写字母,只需要将其ASCII码值减去32即可。

下面是一个实现小写字母转大写字母的函数示例:


void toUpperCase(char* str) {

  int i = 0;

  while (str[i] != '\0') {

    if (str[i] >= 'a' && str[i] <= 'z') {

      str[i] -= 32;

    }

    i++;

  }

}

该函数采用了字符串指针的形式,使用while循环遍历字符串中的每个字符。如果遇到小写字母,则将其ASCII码值减去32。最终,函数将把字符串中所有的小写字母转换成大写字母。

在实际情况中,我们可能需要在程序中反复使用这样的函数。为了提高代码的复用性和可读性,可以将这些函数封装成一个类或者头文件,并在程序中直接调用。例如,在以下代码中,我们先定义了一个头文件“stringutil.h”,在其中声明了一个字符串工具类“StringUtil”,该类中包含了将大写字母转小写字母和将小写字母转大写字母的函数:


class StringUtil {

public:

  static void toLowerCase(char* str);

  static void toUpperCase(char* str);

};

然后,在C++主程序中,我们只需要包含头文件“stringutil.h”,创建一个字符串对象并调用相应的函数即可:


#include "stringutil.h"

#include <iostream>

int main() {

  char str1[] = "HELLO WORLD";

  char str2[] = "hello world";

  StringUtil::toLowerCase(str1);

  StringUtil::toUpperCase(str2);

  std::cout << "str1: " << str1 << std::endl;

  std::cout << "str2: " << str2 << std::endl;

  return 0;

}

以上就是关于C++中实现字母大小写转换的方法及如何封装为类或头文件的介绍,希望对读者有所帮助。

  
  

评论区

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