fork download
  1. #include <iostream>
  2. #include <locale>
  3.  
  4. struct phone_formatter : std::numpunct<char> {
  5. char do_thousands_sep() const override { return '-'; }
  6. std::string do_grouping() const override { return std::string({2, 2, 0}); }
  7. };
  8.  
  9. int main() {
  10. std::locale loc(std::cout.getloc(), new phone_formatter);
  11. std::cout.imbue(loc);
  12. std::cout << 1234 << "\n";
  13. std::cout << 1234567 << "\n";
  14. std::cout << 123456789 << "\n";
  15. std::cout << 12 << "\n";
  16. return 0;
  17. }
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
12-34
123-45-67
12345-67-89
12