【Visual C++】【ゲーム開発】std::string文字列のLTRIM(RTRIM)がしたい

eye-catch Visual Studio
eye-catch

STL stringライブラリのメソッドにはないです。

という事で作るしかない。

(C++14時点)


// includes.
#include <string>

std::string strRightTrim(std::string expr, size_t length) {
    std::string result;
    const size_t strlen = expr.length();
    try {
        result = expr.substr(strlen - length, length);
    }
    catch (std::exception &e) {
        return e.what();
    }
    return result;
}


std::string strLeftTrim(std::string expr, size_t length) {
    std::string result;
    try {
        result = expr.substr(0, length);
    }
    catch (std::exception &e) {
        return e.what();
    }
    return result;
}

使う時はそのまま、exprに元の文字列、lengthに切り取りたい文字数を指定するだけです。

例えば以下のように使います。

int main()
{
    std::string str = "Eric Burdon & The Animals";

    std::cout << strLeftTrim(str, 11) << "\n";
    
    return 0;

}
出力結果

C++17以降にはもしかしたらあるんですかね😅

それならまあそっち使ってくださいね👍

コメント

タイトルとURLをコピーしました