#include <iostream>
#include <sstream>
#include <locale>
 
struct dotted : std::numpunct<char> {
    char do_thousands_sep()   const { return '.'; }  // separate with dots
    std::string do_grouping() const { return "\3"; } // groups of 3 digits
    static void imbue(std::ostream &os) {
    	os.imbue(std::locale(os.getloc(), new dotted));
    }
};
 
int main()
{
	int Value = 12345678;
	std::stringstream ss;
    dotted::imbue(ss);
    ss << Value;
    std::cout << ss.str() << '\n';
}