概要
文字列比較の際に大文字小文字の区別を無視したいのでどちらかに寄せようと
lowerCase,upperCaseの様なメソッドを探しました。
int toupper(int _c)
int tolower(int _c)
なる関数が見つかりました。
んー、欲しいのはstringを投げてupper/lowerに寄ったstringが返って来る関数なんだよなー。
色々調べたら出て来ました。
C++ マニアック
僕は後者の方が良いかなと思ったので後者を利用してメソッド化しました。
tolowerメソッドの実装
string StringUtil::tolower(const string &str)
{
// 元のstrのコピーを取る
string lower = str;
transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
return lower;
}
toupperも同様です。
toupperメソッドの実装
string StringUtil::toupper(const string &str)
{
// 元のstrのコピーを取る
string upper = str;
transform(upper.begin(), upper.end(), upper.begin(), ::toupper);
return upper;
}
誰かのお役に立てば。
【cocos2d-x】cocos記事一覧
cocos記事一覧 Pimpl 激震が走った、Pimplイディオム enum enum struct(class)とは cast 決定版!*_castまとめ sqlit...
コメント