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。
- 前言
- C++读取配置文件
- 结构体内存对齐后所占内存空间大小的计算
- do{}while(0)的妙用
- Cocos2dx实现翻牌效果(CCScaleTo与CCOrbitCamera两种方式)
- C++的error LNK2019: 无法解析的外部符号编译错误
- Java使用JNI调用C++的完整流程
- strupr与strlwr函数的实现
- strcat函数实现
- Windows上VS使用pthread重温经典多线程卖票(pthreads-w32-2-8-0-release.exe)(windows上使用pthread.h)
- pthread的pthread_join()函数理解实验
- 顺序存储结构和链式存储结构的选择
- C语言冒泡排序
- VS看反汇编、寄存器、内存、堆栈调用来学习程序设计
- 快速排序
- C++的构造函数初始化列表
- fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory
- C++实现简单的String类