strlwr()和strupr()不是标准库函数,只能在windows下(VC、MinGW等)使用,Linux GCC中需要自己定义。
strupr()
用于将字符串中的字符转换为大写,其原型为:
char *strupr(char *str);
【参数说明】str为要转换的字符串。
【返回值】返回转换后的大写写字符串,其实就是将str返回。
也就是说,strupr() 不会创建一个新字符串返回,而是改变原有字符串。所以strupr()只能操作字符数组,而不能操作指针字符串,因为指针指向的字符串是作为常量保存在静态存储区的,常量不能被修改。
检错流程忽略
void strupr(char *str)
{
for (; *str!='\0 '; str++)
*str = toupper(*str);
}
strrpl()
/* 把 s 中的字符串 s1 替换成 s2 */
char *strrpl(char *s, const char *s1, const char *s2)
{
char *ptr;
while (ptr = strstr(s, s1)) /* 如果在s中找到s1 */
{
memmove(ptr + strlen(s2) , ptr + strlen(s1), strlen(ptr) - strlen(s1) + 1);
memcpy(ptr, &s2[0], strlen(s2));
}
return s;
}
测试可用