fork download
  1. #include <iostream>
  2.  
  3. std::string operator"" _hmm (const char* str, size_t size) {
  4. std::string result;
  5.  
  6. for (size_t i = 0u; i < size; ++i) {
  7. result += "0x" + [](unsigned char c) {
  8. std::string hex;
  9.  
  10. auto toH = [](unsigned char c) {
  11. return (c > 9u) ? ('a' + c - 10u) : ('0' + c);
  12. };
  13.  
  14. hex += toH(c >> 4u);
  15. hex += toH(c & 0xFu);
  16.  
  17. return hex;
  18. }(str[i]) + ' ';
  19. }
  20.  
  21. return result;
  22. }
  23.  
  24. int main() {
  25. std::cout << "Test"_hmm << "\n" <<
  26. u8"Бля, Злак, прекращай, пожалуйста."_hmm << "\n" <<
  27. "Бля, Злак, прекращай, пожалуйста."_hmm;
  28. return 0;
  29. }
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
0x54 0x65 0x73 0x74 
0xd0 0x91 0xd0 0xbb 0xd1 0x8f 0x2c 0x20 0xd0 0x97 0xd0 0xbb 0xd0 0xb0 0xd0 0xba 0x2c 0x20 0xd0 0xbf 0xd1 0x80 0xd0 0xb5 0xd0 0xba 0xd1 0x80 0xd0 0xb0 0xd1 0x89 0xd0 0xb0 0xd0 0xb9 0x2c 0x20 0xd0 0xbf 0xd0 0xbe 0xd0 0xb6 0xd0 0xb0 0xd0 0xbb 0xd1 0x83 0xd0 0xb9 0xd1 0x81 0xd1 0x82 0xd0 0xb0 0x2e 
0xd0 0x91 0xd0 0xbb 0xd1 0x8f 0x2c 0x20 0xd0 0x97 0xd0 0xbb 0xd0 0xb0 0xd0 0xba 0x2c 0x20 0xd0 0xbf 0xd1 0x80 0xd0 0xb5 0xd0 0xba 0xd1 0x80 0xd0 0xb0 0xd1 0x89 0xd0 0xb0 0xd0 0xb9 0x2c 0x20 0xd0 0xbf 0xd0 0xbe 0xd0 0xb6 0xd0 0xb0 0xd0 0xbb 0xd1 0x83 0xd0 0xb9 0xd1 0x81 0xd1 0x82 0xd0 0xb0 0x2e