tolower()不工作

时间:2012-08-27 16:03:26

标签: c tolower

以下代码段用于将字符串转换为小写。

int main()
{
    unsigned char s[] = "AbS.d_";

    tolower(s);
    printf("%s\n", s);

    return 0;
}

我得到的是output

AbS.d_

为什么字符串没有被转换?

2 个答案:

答案 0 :(得分:5)

tolower将字符类型作为参数,但您使用字符串。您需要遍历您的数组,并为每个字符调用tolower

答案 1 :(得分:4)

tolower接受int并返回降低的int。

这应该有效:

int i=0;
for(i=0; s[i]; i++)
{
    s[i]=tolower(s[i]);
}