wstring
を小文字に変換したいと思います。私は、ロケール情報を使用して多くの答えがあることがわかりました。 wstring
についてもToLower()
のような機能はありますか?wstringを小文字に変換する
答えて
std::towlower
は、希望する機能です。<cwtype>
です。このヘッダーには、ワイド文字列を処理するための多くの関数が含まれています。
例:
// Convert wstring to upper case
wstring wstrTest = L"I am a STL wstring";
transform(
wstrTest.begin(), wstrTest.end(),
wstrTest.begin(),
towlower);
これは、複数のコードユニットにまたがるコードポイントでは正しく動作しないと思います。 – user2079303
@ user2079303 C++(ここではC)では、サポートされているコード・ポイントがwchar_tに収まる必要があります。言い換えれば、これはWindows上の問題にすぎません。 (実際の問題は、コードポイントでは1:1ではなく、文脈依存であるということです) – Cubbi
@Cubbi Windowsの問題は、多くのクロスプラットフォームプログラムには問題です:)しかし、そうです、それは確かです一度に1つのコード単位を変換することができない唯一の理由ではありません。マッピングアルゴリズムは文字列全体を正しく処理する必要があります。 – user2079303
希望に役立ちます。..
#include <iostream>
#include <algorithm>
int main()
{
std::wstring str = L"THIS TEXT!";
std::wcout << "Lowercase of the string '" << str << "' is ";
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
std::wcout << "'" << str << "'\n";
return 0;
}
出力:
Lowercase of the string 'THIS TEXT!' is 'this text!'
このメソッドでうまく動作するta – Epirocks
- 1. C++で文字列をwstringに変換し、最小値コードで返します
- 2. 文字列をwstringに変換中にクラッシュする
- 3. 文字列をWstringに変換する方法C++ Visual Studio
- 4. 文字列をJavaの小文字2小文字に変換する
- 5. C++はwstringを別のwstring(80文字以上)に置き換えます
- 6. 文字列をwstringにPython
- 7. すべての小文字を大文字に変換する
- 8. wstringをLPOLESTRに変換するには?
- 9. wstringと大文字小文字を区別して比較する
- 10. 大文字を小文字に変換する方法
- 11. Javaで特定の文字を小文字に変換する
- 12. 文字列を小文字に変換する
- 13. 大文字のhtmlタグを小文字に変換する
- 14. char * argv []をwstringに変換する
- 15. intをwstringに変換する
- 16. 液体 - アレイを小文字に変換
- 17. Javascriptプレースホルダを小文字に変換
- 18. 大文字を含む文字列を小文字に変換する
- 19. Android:文字列の最初の文字を小文字に変換する
- 20. mysql utf8-binフィールドを小文字/小文字に変換します。
- 21. ブーストのwstring文字列コンバータ
- 22. Javascriptで文字列を大文字と小文字に変換します。
- 23. は大文字と小文字を変換します。
- 24. JavaScriptで4文字以下の文字列を大文字に変換し、4文字以上を小文字に変換することで解決する
- 25. _tchar *をwstringに変換したい
- 26. golang文字列を小文字に選択的に変換する
- 27. Android:大文字/小文字に変換してください。
- 28. 表示中にjqgridデータを小文字に変換する
- 29. アセンブリの問題で大文字を小文字に変換する
- 30. CMake小文字を大文字に変換する正規表現
http://en.cppreference.com/w/cpp/string/wide/towlower –
"小文字"は本質的にロケール固有の操作であることに注意してください。トルコでは、 'towlower('I'L)!='I'L'(結果は実際に' 'ı'') –
実際、ケース変換は悪夢です。小文字の「Σ」は単語の位置によって「σ」と「ς」のいずれかであり、小文字の「SS」はドイツ語では「ß」または「ss」です。 MASSE "はホモグラフに応じて"Maße "または" masse "のいずれかです。詳細については、http://unicode.org/faq/casemap_charprop.htmlを参照してください。 –