关闭

C/C++库函数(tolower/toupper)实现字母的大小写转换

标签: CC++大小写转换tolowertoupper
5115人阅读 评论(5) 收藏 举报
分类:
C/C++库函数(tolower/toupper)实现字母的大小写转换


    本文将介绍库函数实现字母的大小写转换,常用到的是在ctype.h(C++中是cctype)库文件下定义的函数方法。首先来看一下C下tolower/toupper函数实现原型:
int tolower(int c)
{
	if ((c >= 'A') && (c <= 'Z'))
		return c + ('a' - 'A');
	return c;
}

int toupper(int c)
{
	if ((c >= 'a') && (c <= 'z'))
		return c + ('A' - 'a');
	return c;
}
接下来用两个小demo来演示一下。
C的实现:
#include<string.h>   //strlen
#include<stdio.h>    //printf
#include<ctype.h>    //tolower
int main()
{
    int i;
    char string[] = "THIS IS A STRING";
    printf("%s\n", string);
    for (i = 0; i < strlen(string); i++)
    {
        string[i] = tolower(string[i]);
    }
    printf("%s\n", string);
    printf("\n");
}
保存为xxx.c文件,执行: gcc -o xxx xxx.c 生成执行文件xxx。运行:./xxx 查看效果:

以上是C 的实现,同样的,在C++下的实现如下:
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
    string str= "THIS IS A STRING";
    for (int i=0; i <str.size(); i++)
       str[i] = tolower(str[i]);
    cout<<str<<endl;
    return 0;
}
保存为xxx.cpp,执行 g++ xxx.cpp 生成执行文件 a.out,执行a.out,效果如下:


以上的demo实现的是大写到小写的转换,同样的,小写到大写的转换方式相同,将tolower换成toupper即可。

2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:116591次
    • 积分:1827
    • 等级:
    • 排名:千里之外
    • 原创:68篇
    • 转载:2篇
    • 译文:0篇
    • 评论:13条
    最新评论