以下代码段用于将字符串转换为小写。
int main()
{
unsigned char s[] = "AbS.d_";
tolower(s);
printf("%s\n", s);
return 0;
}
我得到的是output:
AbS.d_
为什么字符串没有被转换?
答案 0 :(得分:5)
tolower
将字符类型作为参数,但您使用字符串。您需要遍历您的数组,并为每个字符调用tolower
。
答案 1 :(得分:4)
tolower
接受int并返回降低的int。
这应该有效:
int i=0;
for(i=0; s[i]; i++)
{
s[i]=tolower(s[i]);
}