c++で文字列を大文字・小文字に変換

プログラミング
2014年11月26日 19:00

c++で文字列(stringクラスのインスタンス)を大文字や小文字に変換する。

大文字に変換

変換には、std::transformとtoupperを使用するのでalgorithmをインクルード。

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main()
{
    string str = "aBcdefG";
    transform(str.begin(), str.end(), str.begin(), ::toupper);

    cout << str << endl;

    return 0;
}
ABCDEFG

このとき使用するtoupperはstd名前空間にあるものを使用しない。

小文字に変換

変換には、std::transformとtolowerを使用するのでalgorithmをインクルード。

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main()
{
    string str = "aBcdefG";
    transform(str.begin(), str.end(), str.begin(), ::tolower);

    cout << str <<; endl;

    return 0;
}
abcdefg

この時使用するtolowerはstd名前空間にあるものを使用しない。

最後に

今回は試していないけど、transformの引数にchar型の配列を使えそう。