为什么不将我的大写字母转换为小写?

Com*_*erd 1 c++ debugging pointers function

可能重复:
tolower()无法正常工作

这是我的代码:

char *ptr=&twod[j][i];

                 while (*ptr != '\0')
    {
        tolower(*ptr);


        cout<<endl
            <<endl
            <<endl
            <<*ptr;

        ptr++;

    }
Run Code Online (Sandbox Code Playgroud)

当我讨论上面的内容时,大写字母仍保持大写.有人能解释一下为什么吗?

Naw*_*waz 6

你需要这样做:

*ptr = tolower(*ptr);
Run Code Online (Sandbox Code Playgroud)

std::tolower 返回小写.它接受参数作为参考,因此它不能修改*ptr您传递给它.

阅读文档以std::tolower获取详细信息.