ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
strupr函数用来将指向的字符串全部转换为大写的形式 strlwr函数则用来将指向的字符串全部转换为小写的形式 实现这样两个函数也比较简单 还是先贴代码出来 首先是strupr函数: ~~~ // 字符全部转换为大写 char* _strupr_d(char* src) { while (*src != '\0') { if (*src >= 'a' && *src <= 'z') //在ASCII表里大写字符的值比对应小写字符的值小32. //*p -= 0x20; // 0x20的十进制就是32 *src -= 32; src++; } return src; } ~~~ 这里面注释已经写得很清楚了,相应的,如果要转换成小写的,+=32就行了,下面是strlwr函数的实现: ~~~ // 字符全部转换为小写 char* _strlwr_d(char* src) { while (*src != '\0') { if (*src > 'A' && *src <= 'Z'){ //*src += 0x20; *src += 32; } src++; } return src; } ~~~ 然后通过函数调用可以试试效果: ~~~ int main() { char *p = "Neusoft"; char k[256]; // 字符串全部转成大写 _strupr_d(k); // 字符串转换成小写 //_strlwr_d(k); cout << k <<endl; system("pause"); return 0; } ~~~ 下面把效果贴出来: ![](https://box.kancloud.cn/2016-08-19_57b6ce7c71372.jpg) ![](https://box.kancloud.cn/2016-08-19_57b6ce7ca01e5.jpg) 效果还是有的,功能就实现了,比较简单。 下面附出ASCII表附出来,这样看来更清晰,理解更快。 ![](https://box.kancloud.cn/2016-08-19_57b6ce7ccfc78.jpg) 大写的A对应的是65,小写的a对应的是97,相差就是32。