c++で文字の判定するための便利な関数

目次

c++で、この文字がどのような文字なのかを判定する関数があったのでそれを調べた。 これらの、関数はcctypeに定義されている。

大文字を判定

std::isupper関数を使用。

namespace std {
    int isupper(int);
}
#include <cctype>

using namespace std;

int main()
{
    char c = "A";
    if(isupper(c)) { // cが大文字のとき
    }

    return 0;
}

小文字を判定

std::islower関数を使用。

namespace std {
    int islower(int);
}
#include <cctype>

using namespace std;

int main()
{
    char c = "a";
    if(islower(c)) { // cが小文字のとき
    }

    return 0;
}

数字を判定

std::isdigit関数を使用。

namespace std {
    int isdigit(int);
}
#include <cctype>

using namespace std;

int main()
{
    char c = '0';
    if(isdigit(c)) { // cの文字が数字の時
    }

    return 0;
}

空白を判定

std::isspace関数を使用。

namespace std {
    int isspace(int);
}
#include <cctype>;

using namespace std;

int main()
{
    char c = " ";
    if(isspace(c)) { // cが空白文字のとき
    }

    return 0;
}

大文字への変換

引数の文字を大文字に変換する関数もある。 std::toupper関数を使用

namespace std {
    int toupper(int);
}
#include <iostream>
#include <cctype>

using namespace std;

int main()
{
    char c = "a";
    cout << toupper(c) << endl; // 大文字に変換

    return 0;
}

小文字への変換

引数の文字を小文字に変換する関数もある。 std::tolower関数を使用

namespace std {
    int tolower(int);
}
#include <iostream>
#include <cctype>

using namespace std;

int main()
{
    char c = "A";
    cout << tolower(c) << endl; // 小文字に変換

    return 0;
}

最後に

覚えられたら便利そう。