10 Kasım 2017 Cuma

std::time_put facet

Constructor - from locale
time_put facet olduğu için locale içindeki haline erişmek için std::use_fact<std::time_put<...>>(locale) çağrısı yapılır.

put metodu
String'i formatladıktan sonra ilk parametre olan output iterator'e yazar.

%a ile günün kısaltımış ismi yazılır.

Örnek
Şöyle yaparız.
try {
  // std::locale::global(std::locale("de_DE.utf8"));
  std::time_t t = std::time(NULL);
  std::tm tm = *std::localtime(&t);

  std::string const fmt = "%a % ";
  std::use_facet<std::time_put<char> >(std::cout.getloc())
    .put({ std::cout }, std::cout, ' ', &tm, fmt.data(), fmt.data() + fmt.size());
} catch(...) {
  std::cerr << "An exception was raised\n";
}


Hiç yorum yok:

Yorum Gönder