ASCII碼表大家都很熟悉了吧,利用碼的排列規(guī)律,我們可以很容易的實現(xiàn)一些操作,比如判斷是否是數(shù)字、大小寫轉換等。
這里寫大小寫轉換的函數(shù):
char toUpper(const char& ch) { return ch & 0x5F; } char toLower(const char& ch) { return ch | 0x20; } |
函數(shù)原理:大小寫字母的差是32,比如大寫的A是65,小寫的A是97,所以我們把右邊數(shù)第6位置0或者1就能實現(xiàn)大小寫轉換。轉換成大寫時,把第6位置0,用ch & 0x5F實現(xiàn)。轉換成小寫時置1,用ch | 0x20實現(xiàn)。怎么樣,相當?shù)暮唵伟桑纱?,我們可以寫string類的toUpper和toLower函數(shù)了。^_^,更多技巧盡在探索中。