大小写转换指令 strlwr()、strupr()说明及使用范例
点击:
发布日期:2013-01-25
本文来自 www.020fix.com
大小写转换指令 strlwr()、strupr()说明及使用范例
(1)strlwr()
1.指令说明:
将字串中的大写字元,转换成小写字元
原型为:
char* strlwr( char *string );
参数说明:
string: 要转换的字串位置
输出:
执行完后,会将string的位置作输出
2.使用范例:
ex.
void main()
{
char szTemp[] = "123abcdABCD";
printf("\n转换前:%s\n", szTemp);
strlwr(szTemp);
printf("\n转换后:%s\n", szTemp);
system("pause");
}
输出:
转换前:123abcdABCD
转换后:123abcdabcd
3.实作:
// 实作strlwr指令
// string ==> 要转换的字串
char* MyStrlwr(char* string)
{
char* p = NULL;
// 防止输入NULL,而产生错误
if(string == NULL)
{
return NULL;
}
p = string;
// 转换字元,直到遇到字串结尾
while(*p != '\0')
{
// 若遇到大写的英文字母
// (大写的 'A' ~ 'Z' 的ASCII码为 65 ~ 90)
if(*p >= 65 && *p <= 90)
{
// 将大写字母转为小写
// 由于大写字母和小写字母相差32,因此+32,就可转成小写
*p += 32;
}
// 指向下一个字元
p++;
}
return string;
}
MSDN对strlwr指令的说明
网路上找的ASCII码对照表,仅供参考
(2)strupr()
1.指令说明:
将字串中的小写字元,转换成大写字元
原型为:
char* strupr( char *string );
参数说明:
string: 要转换的字串位置
输出:
执行完后,会将string的位置作输出
2.使用范例:
ex.
void main()
{
char szTemp[] = "123abcdABCD";
printf("\n转换前:%s\n", szTemp);
strupr(szTemp);
printf("\n转换后:%s\n", szTemp);
system("pause");
}
输出:
转换前:123abcdABCD
转换后:123ABCDABCD
3.实作:
// 实作strupr指令
// string ==> 要转换的字串
char* MyStrupr(char* string)
{
char* p = NULL;
// 防止输入NULL,而产生错误
if(string == NULL)
{
return NULL;
}
p = string;
// 转换字元,直到遇到字串结尾
while(*p != '\0')
{
// 若遇到小写的英文字母
// (小写的 'a' ~ 'z' 的ASCII码为 97 ~ 122)
if(*p >= 97 && *p <= 122)
{
// 将小写字母转为大写
// 由于小写字母和大写字母相差32,因此 -32,就可转成大写
*p -= 32;
}
// 指向下一个字元
p++;
}
return string;
}