fork(2) download
  1.  
  2. #include <algorithm>
  3. #include <functional>
  4. #include <iostream>
  5. #include <locale>
  6. #include <string>
  7. /////////////////////////////////////////////////////////////////////////////////////////
  8. typedef std::string T_str;
  9. /////////////////////////////////////////////////////////////////////////////////////////
  10. char tolower_rus( char c )
  11. {
  12. return tolower
  13. (
  14. c,
  15. std::locale("")
  16. );
  17. }
  18. /////////////////////////////////////////////////////////////////////////////////////////
  19. T_str string_tolower_rus( const T_str& str )
  20. {
  21. T_str res_str = str;
  22.  
  23. std::transform
  24. (
  25. str.begin (),
  26. str.end (),
  27. res_str.begin (),
  28. tolower_rus
  29. );
  30.  
  31. return res_str;
  32. }
  33. /////////////////////////////////////////////////////////////////////////////////////////
  34. int main()
  35. {
  36. std::locale::global(std::locale(""));
  37. T_str s = "Сегодня прекрасный солнечный день! Пошли купаться?";
  38.  
  39. std::cout << string_tolower_rus(s)
  40. << std::endl;
  41. }
  42.  
Success #stdin #stdout 0s 5072KB
stdin
Standard input is empty
stdout
Сегодня прекрасный солнечный день! Пошли купаться?