还能再提升吗?
在下课时没事做写了一个字符串转换大小写的程序如下图所示:目的主要是想以最有效率的方法来实现大小写转换。算法如下:
'A'的ASCII值为 65 0x41 01000001
'a'的ASCII值为 97 0x61 01100001
'B'的ASCII值为 66 0x42 01000002
'b'的ASCII值为 98 0x62 01100002
'C'的ASCII值为 67 0x43 01000003
'c'的ASCII值为 99 0x63 01100003
......
可见转换为大写时,只要把第6位置0即可,转换小写则相反。
在VS2010下运行结果如下图:
但是在转换时,字符串中包含有非字母字符时,不保证其完整性。
如:"Beautiful!" 在该字符串中,'\0'前的一个字符是'!',转换后可能'!'被换成了其它字符。
在这里的目的主要是想和大家讨论一下是否还有更高效率的方法来完成大小写的转换。
如有大虾相助,本人以分数致谢!
[ 本帖最后由 lz1091914999 于 2011-4-24 21:22 编辑 ]