1

重複の可能性:
tolower()が機能しない

これが私のコードです:

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

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


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

        ptr++;

    }

上記を引用しても、大文字は大文字のままです。誰かが私に理由を説明できますか?

4

3 に答える 3

6

これを行う必要があります:

*ptr = tolower(*ptr);

std::tolower 小文字を返します。参照による引数を受け入れないため、渡す引数を変更することはできません*ptr

詳細については、のドキュメントをstd::tolowerお読みください。

于 2013-01-27T15:07:42.287 に答える
2

tolower値を変更せず、新しい値を返します。

これを試して:

*ptr = tolower(*ptr);
于 2013-01-27T15:07:47.830 に答える
1

tolowerその引数を変更しません。変数を設定するか、操作を出力します。

*ptr = tolower(*ptr);
std::cout << *ptr;
// or
std::cout << tolower(*ptr);
于 2013-01-27T15:07:54.440 に答える