std::get_time
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <iomanip>
|
||
template< class CharT > /*unspecified*/ get_time( std::tm* tmb, const CharT* fmt); |
(начиная с C++11) | |
При использовании в выражении
in >> get_time(tmb, fmt), анализирует входной символ как значение даты / времени в соответствии с форматной строки fmt в соответствии с std::time_get аспект языка в настоящее время проникнут в out выходной поток. Полученное значение хранится в std::tm объект, на который указывает tmb.Оригинал:
When used in an expression
in >> get_time(tmb, fmt), parses the character input as a date/time value according to format string fmt according to the std::time_get facet of the locale currently imbued in the output stream out. The resultant value is stored in a std::tm object pointed to by tmb.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Параметры
| tmb | — | действительный указатель на std::tm объект, где будет сохранен результат
Оригинал: valid pointer to the std::tm object where the result will be stored Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| fmt | — | Указатель на завершающуюся нулем строку, определяющую график преобразования формата
Строка формата состоит из нуля или более спецификаторов преобразования, пробельные символы, и обычные символы (кроме
%). Каждая обыкновенная характера, как ожидается, соответствует одному символу в потоке ввода в сравнение без учета регистра. Каждый символ пробела соответствует произвольной пробелы в строке ввода. Каждая спецификация преобразования начинается с символа %, возможно, следует E или O модификатора (игнорируется, если не поддерживается язык), а затем символ, который определяет поведение спецификатор. Спецификаторы формата соответствуют функции POSIX strptime()Оригинал: The format string consists of zero or more conversion specifiers, whitespace characters, and ordinary characters (except %). Each ordinary character is expected to match one character in the input stream in case-insensitive comparison. Each whitespace character matches arbitrary whitespace in the input string. Each conversion specification begins with % character, optionally followed by E or O modifier (ignored if unsupported by the locale), followed by the character that determines the behavior of the specifier. The format specifiers match the POSIX function strptime():Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Оригинал: pointer to a null-terminated CharT string specifying the conversion format
Строка формата состоит из нуля или более спецификаторов преобразования, пробельные символы, и обычные символы (кроме
%). Каждая обыкновенная характера, как ожидается, соответствует одному символу в потоке ввода в сравнение без учета регистра. Каждый символ пробела соответствует произвольной пробелы в строке ввода. Каждая спецификация преобразования начинается с символа %, возможно, следует E или O модификатора (игнорируется, если не поддерживается язык), а затем символ, который определяет поведение спецификатор. Спецификаторы формата соответствуют функции POSIX strptime()Оригинал: The format string consists of zero or more conversion specifiers, whitespace characters, and ordinary characters (except %). Each ordinary character is expected to match one character in the input stream in case-insensitive comparison. Each whitespace character matches arbitrary whitespace in the input string. Each conversion specification begins with % character, optionally followed by E or O modifier (ignored if unsupported by the locale), followed by the character that determines the behavior of the specifier. The format specifiers match the POSIX function strptime():Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Возвращаемое значение
Возвращает объект неопределенного типа такой, что если
in это имя входного потока типа std::basic_istream<CharT, Traits>, то выражение in >> get_time(tmb, fmt) ведет себя как будто следующий код был казненОригинал:
Returns an object of unspecified type such that if
in is the name of an input stream of type std::basic_istream<CharT, Traits>, then the expression in >> get_time(tmb, fmt) behaves as if the following code was executed:Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
typedef std::istreambuf_iterator<CharT, Traits> Iter; typedef std::time_get<CharT, Iter> TimeGet; std::ios_base::iostate err = std::ios_base::goodbit; const TimeGet& tg = std::use_facet<TimeGet>(in.getloc()); tg.get(Iter(in.rdbuf()), Iter(), in, err, tmb, fmt, fmt + traits::length(fmt)); if (err != std::ios_base::goodbit) in.setstate(err):
Пример
Запустить этот код
#include <iostream>
#include <sstream>
#include <locale>
#include <iomanip>
#include <ctime>
int main()
{
std::tm t;
std::istringstream ss("2011-Februar-18 23:12:34");
ss.imbue(std::locale("de_DE"));
ss >> std::get_time(&t, "%Y-%b-%d %H:%M:%S");
std::cout << std::put_time(&t, "%c") << '\n';
}
Вывод:
Sun Feb 18 23:12:34 2011
См. также
| разбирает значения даты/времени из входной последовательности символов в std::tm (шаблон класса) | |
(C++11) |
форматирует и выводит значение даты/времени в соответствии с указанным форматом (шаблон функции) |