c语言位操作大小写转换,C语言实现大小写转换的三种方法
今天心血來潮,總結了下大小寫轉換的方法,大致有三種。
1.使用C語言提供的函數:toupper(),tolower()
使用這兩個函數需要引入頭文件:#include
示例代碼:
#include
#include
#include
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
#include
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
#include
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语言位操作大小写转换,C语言实现大小写转换的三种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kotlin Native新增Objec
- 下一篇: JavaScript服务器端开发技术(对