time_put 클래스
클래스 템플릿은 시간 값을 형식 CharType
시퀀스로 변환하는 것을 제어하는 로캘 패싯 역할을 할 수 있는 개체를 설명합니다.
구문
template <class CharType,
class OutputIterator = ostreambuf_iterator<CharType>>
class time_put : public locale::facet;
매개 변수
CharType
문자를 인코딩하기 위해 프로그램 내 사용하는 형식
OutputIterator
시간 put 함수가 출력을 쓰는 반복기의 형식입니다.
설명
모든 로캘 패싯과 마찬가지로, 고정 개체 ID에는 초기값 0이 저장되어 있습니다. 저장된 값에 액세스를 처음 시도하면 id에 고유한 양수 값이 저장됩니다.
생성자
생성자 | Description |
---|---|
time_put | time_put 형식의 개체에 대한 생성자입니다. |
Typedef
형식 이름 | 설명 |
---|---|
char_type | 로캘에서 사용하는 문자를 설명하기 위해 사용하는 형식입니다. |
iter_type | 출력 반복기에 대해 설명하는 형식입니다. |
멤버 함수
멤버 함수 | 설명 |
---|---|
do_put | 시간과 날짜 정보를 CharType 의 시퀀스로 출력하는 가상 함수입니다. |
put | 시간과 날짜 정보를 CharType 의 시퀀스로 출력합니다. |
요구 사항
헤더:<로캘>
네임스페이스: std
time_put::char_type
로캘에서 사용하는 문자를 설명하기 위해 사용하는 형식입니다.
typedef CharType char_type;
설명
이 형식은 템플릿 매개 변수 CharType
의 동의어입니다.
time_put::d o_put
시간과 날짜 정보를 CharType
의 시퀀스로 출력하는 가상 함수입니다.
virtual iter_type do_put(
iter_type next,
ios_base& _Iosbase,
const tm* _Pt,
char _Fmt,
char _Mod = 0) const;
매개 변수
next
시간과 날짜를 나타내는 문자 시퀀스를 삽입할 출력 반복기입니다.
_Iosbase
사용되지 않습니다.
_Pt
출력되는 날짜 및 시간 정보입니다.
_Fmt
출력의 형식입니다. 유효한 값은 strftime, wcsftime, _strftime_l, _wcsftime_l를 참조하세요.
_모드
형식의 한정자입니다. 유효한 값은 strftime, wcsftime, _strftime_l, _wcsftime_l를 참조하세요.
Return Value
삽입된 마지막 요소 뒤의 첫 번째 위치에 대한 반복기입니다.
설명
가상으로 보호된 멤버 함수는 개체 * _Pt
형식tm
에 next
저장된 시간 값부터 시작하는 순차적 요소를 생성합니다. 함수는 생성된 출력을 지나 요소를 삽입할 다음 위치를 지정하는 반복기를 반환합니다.
출력은 배열에 strftime
일련의 char
요소를 생성하기 위해 _Pt 마지막 인수와 함께 사용되는 것과 동일한 규칙에 의해 생성됩니다. 이러한 char
각 요소는 간단한 일대일 매핑을 통해 형식의 CharType
해당 요소에 매핑되는 것으로 간주됩니다. _Mod 0이면 유효 형식은 "%F"이며 여기서 F는 _Fmt 바뀝니다. 그렇지 않으면 유효 형식은 "%MF"이며, 여기서 M은 _Mod 바뀝니다.
예시
do_put
을 호출하는 put에 대한 예제를 참조하세요.
time_put::iter_type
출력 반복기에 대해 설명하는 형식입니다.
typedef OutputIterator iter_type;
설명
이 형식은 템플릿 매개 변수 OutputIterator
의 동의어입니다.
time_put::p ut
시간과 날짜 정보를 CharType
의 시퀀스로 출력합니다.
iter_type put(iter_type next,
ios_base& _Iosbase,
char_type _Fill,
const tm* _Pt,
char _Fmt,
char _Mod = 0) const;
iter_type put(iter_type next,
ios_base& _Iosbase,
char_type _Fill,
const tm* _Pt,
const CharType* first,
const CharType* last) const;
매개 변수
next
시간과 날짜를 나타내는 문자 시퀀스를 삽입할 출력 반복기입니다.
_Iosbase
사용되지 않습니다.
_채우다
간격에 사용되는 형식 CharType
의 문자입니다.
_Pt
출력되는 날짜 및 시간 정보입니다.
_Fmt
출력의 형식입니다. 유효한 값은 strftime, wcsftime, _strftime_l, _wcsftime_l를 참조하세요.
_모드
형식의 한정자입니다. 유효한 값은 strftime, wcsftime, _strftime_l, _wcsftime_l를 참조하세요.
first
출력에 대한 서식 문자열의 시작 부분입니다. 유효한 값은 strftime, wcsftime, _strftime_l, _wcsftime_l를 참조하세요.
last
출력에 대한 서식 문자열의 끝부분입니다. 유효한 값은 strftime, wcsftime, _strftime_l, _wcsftime_l를 참조하세요.
Return Value
삽입된 마지막 요소 뒤의 첫 번째 위치에 대한 반복기입니다.
설명
첫 번째 멤버 함수는 do_put(, , _Iosbase
_Fill
, _Pt
, _Fmt
_Mod
)를 반환합니다.next
두 번째 멤버 함수는 백분율(%)이 아닌 * next
++ 간격 [ first
, last
)의 모든 요소에 복사합니다. 간격 [ , ) 뒤에 C 문자 가 잇는 백분율의 경우 함수는 대신 (next
,,_Iosbase
, _Fill
C_Pt
, 0)를 계산 = next
do_put
하고 C를 건너뜁니다. last
first
그러나 C가 집합 EOQ#의 한정자 문자이고 그 뒤에 C2
간격 [ first
, ), last
함수가 대신 (next
,, _Iosbase
, _Fill
_Pt
, , C2
C)를 계산 = next
do_put
하고 지나C2
갑니다.
예시
// time_put_put.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
#include <time.h>
using namespace std;
int main( )
{
locale loc;
basic_stringstream<char> pszPutI;
ios_base::iostate st = 0;
struct tm t;
memset( &t, 0, sizeof( struct tm ) );
t.tm_hour = 5;
t.tm_min = 30;
t.tm_sec = 40;
t.tm_year = 00;
t.tm_mday = 4;
t.tm_mon = 6;
pszPutI.imbue( loc );
char *pattern = "x: %X %x";
use_facet <time_put <char> >
(loc).put(basic_ostream<char>::_Iter(pszPutI.rdbuf( )),
pszPutI, ' ', &t, pattern, pattern+strlen(pattern));
cout << "num_put( ) = " << pszPutI.rdbuf( )->str( ) << endl;
char strftimebuf[255];
strftime(&strftimebuf[0], 255, pattern, &t);
cout << "strftime( ) = " << &strftimebuf[0] << endl;
}
num_put( ) = x: 05:30:40 07/04/00
strftime( ) = x: 05:30:40 07/04/00
time_put::time_put
time_put
형식의 개체에 대한 생성자입니다.
explicit time_put(size_t _Refs = 0);
매개 변수
_심판
개체에 대한 메모리 관리의 유형을 지정하는 데 사용하는 정수 값입니다.
설명
_Refs 매개 변수 및 해당 중요도에 사용할 수 있는 값은 다음과 같습니다.
0: 개체를 포함하는 로캘에 의해 개체의 수명이 관리됩니다.
1: 개체의 수명을 수동으로 관리해야 합니다.
> 1: 이러한 값은 정의되지 않습니다.
생성자는 로캘::facet(_Refs)를 사용하여 기본 개체를 초기화합니다.