你好,我是C语言的新手,有一个简单的问题。
我做了一个函数,它接受一个字符串,该字符串应该去掉空格和特殊字符,并将所有大写字母转换为小写字母。
但当它运行时,它只将大写转换为小写。
void txtedit(char *str){
int i;
for(i=0; i < strlen(str); i++) {
if (isalpha(str[i])) {
str[i] = tolower(str[i]);
}//end if
}//end for
}//end void function任何帮助都将不胜感激。
发布于 2016-09-28 01:48:44
为了去掉非字母字符和空格,您可以在开头有一个while循环(在for循环下),如下所示
while (!((str[i]>='a'&& str[i]<='z') || (str[i]>='A'&& str[i]<='Z' || line[i]=='\0'))){(这确保了新字符串中的字符是a-z或A-Z,而不是空格),
然后创建一个名为j的变量来填充字母字符:
for(j=i;str[j]!='\0';j++)
{
str[j]=str[j+1];
}
str[j]='\0';
}
}然后打印字符串,希望它能正常工作。让我知道发生了什么!
https://stackoverflow.com/questions/39730546
复制相似问题