您好我是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
非常感谢任何帮助。
答案 0 :(得分:0)
要摆脱非字母字符和空格,你可以在开头(在你的for循环下)有一个while循环,表示类似
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';
}
}
然后打印字符串,希望这有效。让我知道发生了什么!