我想创建自己的函数,将字符串转换为小写,s,我希望能够将tolower的结果转换为char,但每当我对它进行类型转换时,它就会崩溃。我该如何解决这个问题?
我的功能如下:
StructA != StructB
答案 0 :(得分:0)
您无法修改通过
定义的字符串char *name = "BILLY";
而不是尝试
char name[] = "BILLY";
第一个是指向只读字符串文字的指针,第二个是定义包含字符串BILLY
的字符数组。
并且不需要将name
的地址传递给stringToLower()
,它是一个指针,您可以修改它指向的内容(字符串字符)。
void stringToLower(char *str) {
int i = 0;
for (i = 0; str[i] != NULL; i++) {
str[i] = (char)(tolower(str[i]));
printf("%c", str[i]);
}
printf("\n");
return;
}
int main() {
char name[] = "BILLY";
stringToLower(name);
printf("%s", name);
return 0;
}