C 将包含大写字母的字符串转换为小写字母
我需要能够转换字符串中的大小写,以便C 将包含大写字母的字符串转换为小写字母,c,ascii,C,Ascii,我需要能够转换字符串中的大小写,以便“Hello”变成“Hello”。最后,我需要比较它们 我将如何转换: char *string = "HEllO"; 对于字符串“hello”?首先,您的字符串声明不正确,应该是: char *string = "Hello"; 现在,要转换为小写,请尝试以下操作: char *lowercase(const char *str) { int length = strlen(str); char *dup = malloc(length
“Hello”
变成“Hello”
。最后,我需要比较它们
我将如何转换:
char *string = "HEllO";
对于字符串
“hello”
?首先,您的字符串声明不正确,应该是:
char *string = "Hello";
现在,要转换为小写,请尝试以下操作:
char *lowercase(const char *str)
{
int length = strlen(str);
char *dup = malloc(length + 1);
strcpy(dup, str);
for (int i = 0; i < length; i++)
{
dup[i] = tolower(dup[i]);
}
return dup; // remember to free when done!
}
char*小写(const char*str)
{
int长度=strlen(str);
char*dup=malloc(长度+1);
strcpy(dup,str);
for(int i=0;i
只需内联执行此操作
char string[] = "Hello";
char * ptr;
for (ptr = string; *ptr != '\0'; ++ptr)
{
*ptr = tolower(*ptr);
}
字符串文本是常量。您的代码在运行时会出现seg错误
char string[]=…
可以用。(编辑:kay比我先到了那里)至少向他解释一下为什么这不起作用,是的,行为是“未定义的”。他对字符串的定义有什么问题<代码>“你好”是一个有效的字符串。我想Richard是指你的问题……你到底想比较什么?您是否只需要知道输入字符串是否包含大写字母?那么您最终是否希望创建一个compareTignoreCase
方法?您可以在比较时将字母转换为小写,而不保存整个字符串。