C语言实现大小写转换的三种方法
2014-09-09 16:55
369 查看
今天心血来潮,总结了下大小写转换的方法,大致有三种。
1.使用C语言提供的函数:toupper(),tolower()
使用这两个函数需要引入头文件:#include<ctype.h>
示例代码:
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
void main( )
{
char a = 'a';
char b = toupper( a );
printf( "%c\n", b);
b = tolower( b );
printf( "%c\n", b);
}
2.自己编写转换函数:
因为大小写之间的ASCII码值的差值是固定的,因此可以使用‘a’-‘A’来获取差值。
实例代码:
#include <stdio.h>
#include <conio.h>
char upChar( char ch )
{
return ( char )( ch - ( 'a' - 'A' ) );
};
char downChar( char ch )
{
return ( char )( ch + ( 'a' - 'A' ) );
};
void main( )
{
char a = 'a';
char b = upChar( a );
printf( "%c\n", b);
b = downChar( b );
printf( "%c\n", b);
}
3.异或0x20来实现转换:
0x20是16进制,表示为2进制是00100000,这样可能还是不明显,转换为10进制,其实就是32
对了,还是利用32.
异或:相同为0,不同为1. 也就是说,任何数字与0异或都是它本身。
所以将其他位都设为0,把第6位(从左向右)设置为1,也就是0x20
如果第6位是1,则异或结果为0.
如果第6位是0,则异或结果为1.
实现了加减32的操作。
示例代码:
#include <stdio.h>
#include <conio.h>
char trans( char ch )
{
ch = ch ^ 0x20;
return ch;
};
void main( )
{
char a = 'a';
char b = trans( a );
printf( "%c\n", b);
b = trans( b );
printf( "%c\n", b);
}
1.使用C语言提供的函数:toupper(),tolower()
使用这两个函数需要引入头文件:#include<ctype.h>
示例代码:
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
void main( )
{
char a = 'a';
char b = toupper( a );
printf( "%c\n", b);
b = tolower( b );
printf( "%c\n", b);
}
2.自己编写转换函数:
因为大小写之间的ASCII码值的差值是固定的,因此可以使用‘a’-‘A’来获取差值。
实例代码:
#include <stdio.h>
#include <conio.h>
char upChar( char ch )
{
return ( char )( ch - ( 'a' - 'A' ) );
};
char downChar( char ch )
{
return ( char )( ch + ( 'a' - 'A' ) );
};
void main( )
{
char a = 'a';
char b = upChar( a );
printf( "%c\n", b);
b = downChar( b );
printf( "%c\n", b);
}
3.异或0x20来实现转换:
0x20是16进制,表示为2进制是00100000,这样可能还是不明显,转换为10进制,其实就是32
对了,还是利用32.
异或:相同为0,不同为1. 也就是说,任何数字与0异或都是它本身。
所以将其他位都设为0,把第6位(从左向右)设置为1,也就是0x20
如果第6位是1,则异或结果为0.
如果第6位是0,则异或结果为1.
实现了加减32的操作。
示例代码:
#include <stdio.h>
#include <conio.h>
char trans( char ch )
{
ch = ch ^ 0x20;
return ch;
};
void main( )
{
char a = 'a';
char b = trans( a );
printf( "%c\n", b);
b = trans( b );
printf( "%c\n", b);
}
相关文章推荐
- C语言实现字母大小写转换的方法
- java实现人民币大小写转换方法分享
- C语言实现大小写字母的转换
- RGB HSV HLS三种色彩模式转换(C语言实现)
- 用C语言实现常见的三种中文内码转换
- 字符串反转 转换大小写的三种方法
- 十进制转换为二进制 (三种方法实现)
- 【C语言】三种方法实现strlen函数
- 用C语言编程实现大小写字母的转换
- C++大小写转换和性能(C语言,C++,API,STL一共4种方法)
- js字母大小写转换实现方法总结
- C语言三种方法实现两个变量值的交换
- 计算2的n次方的三种方法(C语言实现)
- 字符串反转 转换大小写的三种方法
- 用C语言实现常见的三种中文内码转换
- C语言实现将字符串转换为数字的方法
- C语言编程:字母大小写转换以及求字符串长度的两种方法
- 【C语言】strlen的三种实现方法,strcmp,strcat,strcpy
- 用C语言实现常见的三种中文内码转换
- 【C语言】strlen的三种实现方法,strcmp,strcat,strcpy