tolower() not working

☆樱花仙子☆ 提交于 2019-12-02 06:56:29

问题


The below code snippet is used to convert a string to lower case.

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

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

    return 0;
}

I am getting the output as:

AbS.d_

Why the string is not being converted?


回答1:


tolower takes int and return lowered int.

This should work:

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



回答2:


tolower takes a character type as parameter, but you use a string. You need to run through your array, and call tolower for each character.



来源:https://stackoverflow.com/questions/12145463/tolower-not-working

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!