ios_base
수업
이 클래스는 템플릿 매개 변수에 의존하지 않는 입력 및 출력 스트림에 공통적인 스토리지 및 멤버 함수를 설명합니다. (클래스 템플릿은 공통적이고 템플릿 basic_ios
매개 변수에 종속된 내용을 설명합니다.)
클래스 ios_base
의 개체는 다음으로 구성된 서식 정보를 저장합니다.
형식
fmtflags
개체의 형식 플래그입니다.형식
iostate
의 개체에 있는 예외 마스크입니다.형식
int
개체의 필드 너비입니다.int
형식의 개체에 있는 표시 자릿수.locale
형식locale
의 개체입니다.형식
long
및void
포인터 요소가 있는 확장 가능한 두 배열입니다.
또한 클래스 ios_base
의 개체는 스트림 상태 정보, 형식 iostate
의 개체 및 콜백 스택을 저장합니다.
멤버
생성자
속성 | 설명 |
---|---|
ios_base |
ios_base 개체를 생성합니다. |
Typedef
속성 | 설명 |
---|---|
event_callback |
에 전달된 함수를 설명합니다 register_call . |
fmtflags |
출력의 모양을 지정하는 상수입니다. |
iostate |
스트림의 상태를 설명하는 상수를 정의합니다. |
openmode |
스트림과 상호 작용하는 방법을 설명합니다. |
seekdir |
오프셋 작업에 대한 시작 지점을 지정합니다. |
열거형
이름 | 설명 |
---|---|
event |
이벤트 유형을 지정합니다. |
상수
속성 | 설명 |
---|---|
adjustfield |
로 정의된 internal | | left right 비트 마스크입니다. |
app |
각 삽입 전에 스트림의 끝에 검색을 지정합니다. |
ate |
해당 제어 개체를 처음 만들 때 스트림의 끝에 검색을 지정합니다. |
badbit |
스트림 버퍼의 무결성 손실을 기록합니다. |
basefield |
로 정의된 dec | | hex oct 비트 마스크입니다. |
beg |
시퀀스의 시작을 기준으로 한 검색을 지정합니다. |
binary |
파일을 텍스트 스트림이 아니라 이진 스트림으로 읽도록 지정합니다. |
boolalpha |
숫자 값이 아닌 이름(예: true 및 false )으로서 bool 형식의 개체를 삽입 또는 추출하도록 지정합니다. |
cur |
시퀀스 내에서 현재 위치를 기준으로 하는 검색을 지정합니다. |
dec |
10진수 형식의 정수 값을 삽입 또는 추출하도록 지정합니다. |
end |
시퀀스의 끝을 기준으로 한 검색을 지정합니다. |
eofbit |
스트림에서 추출할 때 파일 끝을 기록합니다. |
failbit |
스트림에서 유효한 필드를 추출하지 못하는 경우를 기록합니다. |
fixed |
고정 소수점 형식(지수 필드 없음)의 부동 소수점 값을 삽입하도록 지정합니다. |
floatfield |
로 정의된 비트 마스크 fixed | scientific |
goodbit |
모든 상태 비트를 지웁니다. |
hex |
16진수 형식의 정수 값을 삽입 또는 추출하도록 지정합니다. |
in |
스트림에서 추출하도록 지정합니다. |
internal |
생성된 숫자 필드의 내부에 있는 점에서 채우기 문자를 삽입하여 필드 너비를 채웁니다. |
left |
왼쪽 맞춤을 지정합니다. |
oct |
8진수 형식의 정수 값을 삽입 또는 추출하도록 지정합니다. |
out |
스트림에 삽입하도록 지정합니다. |
right |
오른쪽 맞춤을 지정합니다. |
scientific |
공학용 형식(지수 필드 사용)의 부동 소수점 값을 삽입하도록 지정합니다. |
showbase |
생성된 정수 필드의 기수를 표시하는 접두사를 삽입하도록 지정합니다. |
showpoint |
생성된 부동 소수점 필드에서 소수점을 무조건 삽입하도록 지정합니다. |
showpos |
생성된 음수가 아닌 숫자 필드에 더하기 기호를 삽입하도록 지정합니다. |
skipws |
특정 추출 전에 선행 공백은 건너뛰도록 지정합니다. |
trunc |
해당 제어 개체가 만들어지면 기존 파일의 콘텐츠를 삭제하도록 지정합니다. |
unitbuf |
각 삽입 후 출력이 플러시되도록 합니다. |
uppercase |
특정 삽입의 소문자에 해당하는 대문자를 삽입하도록 지정합니다. |
함수
속성 | 설명 |
---|---|
failure |
멤버 클래스는 클래스 템플릿basic_ios 에서 멤버 함수가 throw한 모든 예외에 대한 기본 클래스 역할을 합니다. |
flags |
현재 플래그 설정을 설정하거나 반환합니다. |
getloc |
저장된 locale 개체를 반환합니다. |
imbue |
로캘을 변경합니다. |
Init |
생성될 때 표준 iostream 개체를 만듭니다. |
iword |
iword 로 저장할 수 있는 값을 할당합니다. |
precision |
부동 소수점 숫자에 표시할 자릿수를 지정합니다. |
pword |
pword 로 저장할 수 있는 값을 할당합니다. |
register_callback |
콜백 함수를 지정합니다. |
setf |
지정된 플래그를 설정합니다. |
sync_with_stdio |
iostream C 런타임 라이브러리 작업이 소스 코드에 표시되는 순서대로 수행되도록 합니다. |
unsetf |
지정된 플래그가 해제되도록 합니다. |
width |
출력 스트림의 길이를 설정합니다. |
xalloc |
변수가 스트림에 포함된다고 지정합니다. |
연산자
속성 | 설명 |
---|---|
operator= |
ios_base 개체에 사용할 대입 연산자입니다. |
요구 사항
머리글: <ios>
네임스페이스: std
event
이벤트 유형을 지정합니다.
enum event {
erase_event,
imbue_event,
copyfmt_event};
설명
형식은 등록된 함수에 대한 인수로 사용되는 콜백 이벤트를 저장할 수 있는 개체를 설명하는 열거형 형식입니다 register_callback
. 고유 이벤트 값은 다음과 같습니다.
copyfmt_event
- 예외 마스크가 복사되기 직전에 호출이 끝날 무렵에 발생하는 콜백을 식별합니다copyfmt
.erase_event
- 호출 시작 시 또는 소멸자를 호출할 때 발생하는 콜백을 식별합니다copyfmt
*this
.imbue_event
- 함수가 반환되기 직전에 호출이 끝날 때 발생하는 콜백을 식별합니다imbue
.
예시
예제는 register_callback
을 참조하세요.
event_callback
에 전달된 함수를 설명합니다 register_call
.
typedef void (__cdecl *event_callback)(
event _E,
ios_base& _Base,
int _I);
매개 변수
_E
event
.
_Base
이벤트가 호출된 스트림입니다.
_I
사용자 정의 숫자입니다.
설명
이 형식은 에 등록할 수 있는 함수에 대한 포인터를 register_callback
설명합니다. 이러한 형식의 함수는 예외를 throw하면 안 됩니다.
예시
를 사용하는 event_callback
예제를 참조하세요register_call
.
failure
failure
클래스는 예외로 throw된 모든 개체의 형식에 대한 기본 클래스를 iostreams
라이브러리의 함수별로 정의하여 스트림 버퍼 작업 중 검색된 오류를 보고합니다.
namespace std {
class failure : public system_error {
public:
explicit failure(
const string& _Message,
const error_code& _Code = io_errc::stream);
explicit failure(
const char* str,
const error_code& _Code = io_errc::stream);
};
}
설명
what()
에서 반환된 값은 _Message
의 복사본이며, _Code
에 기반한 테스트로 확대될 수 있습니다. _Code
이 지정되지 않은 경우 기본값은 make_error_code(io_errc::stream)
입니다.
예시
// ios_base_failure.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.exceptions(ios::failbit);
try
{
file.open( "rm.txt", ios_base::in );
// Opens nonexistent file for reading
}
catch( ios_base::failure f )
{
cout << "Caught an exception: " << f.what() << endl;
}
}
Caught an exception: ios_base::failbit set
flags
현재 플래그 설정을 설정하거나 반환합니다.
fmtflags flags() const;
fmtflags flags(fmtflags fmtfl);
매개 변수
fmtfl
새 fmtflags
설정입니다.
Return Value
이전 또는 현재 fmtflags
설정입니다.
설명
플래그 목록을 참조 ios_base::fmtflags
하세요.
첫 번째 멤버 함수는 저장된 형식 플래그를 반환합니다. 두 번째 멤버 함수는 fmtfl
을 형식 플래그에 저장하고 이전에 저장된 값을 반환합니다.
예시
// ios_base_flags.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
cout << cout.flags( ) << endl;
cout.flags( ios::dec | ios::boolalpha );
cout << cout.flags( );
}
513
16896
fmtflags
출력의 모양을 지정하는 상수입니다.
class ios_base {
public:
typedef implementation-defined-bitmask-type fmtflags;
static const fmtflags boolalpha;
static const fmtflags dec;
static const fmtflags fixed;
static const fmtflags hex;
static const fmtflags internal;
static const fmtflags left;
static const fmtflags oct;
static const fmtflags right;
static const fmtflags scientific;
static const fmtflags showbase;
static const fmtflags showpoint;
static const fmtflags showpos;
static const fmtflags skipws;
static const fmtflags unitbuf;
static const fmtflags uppercase;
static const fmtflags adjustfield;
static const fmtflags basefield;
static const fmtflags floatfield;
// ...
};
설명
에서 조작자를 지원합니다 ios
.
형식은 서식 플래그를 저장할 수 있는 개체를 설명하는 비트 마스크 형식입니다. 고유 플래그 값(요소)은 다음과 같습니다.
dec
- 10진수 형식의 정수 값을 삽입 또는 추출합니다.hex
- 16진수 형식의 정수 값을 삽입 또는 추출합니다.oct
- 18진수 형식의 정수 값을 삽입 또는 추출합니다.showbase
- 생성된 정수 필드의 기수를 표시하는 접두사를 삽입합니다.internal
- 생성된 숫자 필드의 내부에 있는 점에서 채우기 문자를 삽입하여 필요에 따라 필드 너비를 채웁니다. (필드 너비 설정에 대한 자세한 내용은 를 참조하세요setw
.)left
- 생성된 필드(왼쪽 맞춤)의 끝 부분에서 채우기 문자를 삽입하여 필요에 따라 필드 너비를 채웁니다.right
- 생성된 필드(오른쪽 맞춤)의 시작 부분에서 채우기 문자를 삽입하여 필요에 따라 필드 너비를 채웁니다.boolalpha
- 숫자 값이 아닌 이름(예:true
및false
)으로서bool
형식의 개체를 삽입 또는 추출합니다.fixed
- 고정 소수점 형식(지수 필드 없음)의 부동 소수점 값을 삽입합니다.scientific
- 공학용 형식(지수 필드 사용)의 부동 소수점 값을 삽입합니다.showpoint
- 생성된 부동 소수점 필드에서 소수점을 무조건 삽입합니다.showpos
- 생성된 음수가 아닌 숫자 필드에 더하기 기호를 삽입합니다.skipws
- 특정 추출 전에 선행 공백을 건너뜁니다.unitbuf
- 각 삽입 후 출력을 플러시합니다.uppercase
- 특정 삽입의 소문자에 해당하는 대문자를 삽입합니다.
또한 다음 몇 개의 값이 유용합니다.
adjustfield
, 로 정의된 비트 마스크internal
|left
|right
basefield
, 다음으로 정의됨dec
|hex
|oct
floatfield
, 다음으로 정의됨fixed
|scientific
이러한 형식 플래그를 수정하는 함수의 예는 다음을 참조하세요 <iomanip>
.
getloc
저장된 locale
개체를 반환합니다.
locale getloc() const;
Return Value
저장된 locale
개체입니다.
예시
// ios_base_getlock.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
cout << cout.getloc( ).name( ).c_str( ) << endl;
}
C
imbue
로캘을 변경합니다.
locale imbue(const locale& _Loc);
매개 변수
_Loc
새 로캘 설정입니다.
Return Value
이전 로캘입니다.
설명
멤버 함수는 개체에 저장 _Loc
한 locale
다음 콜백 이벤트 및 imbue_event
. 이전에 저장된 값을 반환합니다.
예시
샘플을 참조하세요 basic_ios::imbue
.
Init
생성될 때 표준 iostream
개체를 만듭니다.
class Init { };
설명
중첩 클래스는 임의의 정적 개체에 대한 생성자를 실행하기 전에도 표준 iostream
개체가 제대로 생성되도록 하는 개체를 설명합니다.
ios_base
ios_base
개체를 생성합니다.
ios_base();
설명
(보호된) 생성자는 아무 작업도 수행하지 않습니다. 나중에 basic_ios::
init를 호출할 경우 개체가 안전하게 삭제되기 전에 개체를 초기화해야 합니다. 따라서 클래스에 대한 유일한 안전한 사용은 클래스 ios_base
템플릿 basic_ios
의 기본 클래스입니다.
iostate
스트림의 상태를 설명하는 상수의 형식입니다.
class ios_base {
public:
typedef implementation-defined-bitmask-type iostate;
static const iostate badbit;
static const iostate eofbit;
static const iostate failbit;
static const iostate goodbit;
// ...
};
설명
이 형식은 스트림 상태 정보를 저장할 수 있는 개체에 대해 설명하는 비트 마스크 형식입니다. 고유 플래그 값(요소)은 다음과 같습니다.
badbit
- 스트림 버퍼의 무결성 손실을 기록합니다.eofbit
- 스트림에서 추출할 때 파일 끝을 기록합니다.failbit
- 스트림에서 유효한 필드를 추출하지 못하는 경우를 기록합니다.
또한 유용한 값은 goodbit
입니다. 이때 앞에서 설명한 비트는 설정되지 않으며 goodbit
는 0이 되도록 보장됩니다.
iword
iword
로 저장할 수 있는 값을 할당합니다.
long& iword(int idx);
매개 변수
idx
iword
로 저장할 값의 인덱스입니다.
설명
멤버 함수는 형식long
의 요소를 사용하여 확장 가능한 배열의 요소 idx에 대한 참조를 반환합니다. 모든 요소는 효과적으로 존재하며 처음에는 0 값을 저장합니다. 반환된 참조는 개체에 iword
대한 다음 호출 후, 개체를 호출 basic_ios::
copyfmt
하여 변경한 후 또는 개체가 제거된 후 유효하지 않습니다.
음수이거나 요소에 대해 고유 스토리지를 사용할 수 없는 경우 idx
함수는 고유하지 않을 수 있는 참조를 호출 setstate
(badbit)
하고 반환합니다.
고유한 인덱스(형식 ios_base
의 모든 개체에서 사용)를 가져오려면 .를 호출 xalloc
합니다.
예시
iword
(을)를 사용하는 방법에 대한 샘플은 xalloc
(을)를 참조하세요.
openmode
스트림과 상호 작용하는 방법을 설명합니다.
class ios_base {
public:
typedef implementation-defined-bitmask-type openmode;
static const openmode in;
static const openmode out;
static const openmode ate;
static const openmode app;
static const openmode trunc;
static const openmode binary;
// ...
};
설명
여러 iostream
개체의 여는 모드입니다. 플래그 값은 다음과 같습니다.
상수 | 효과 |
---|---|
app |
각 쓰기 전에 스트림의 끝으로 검색 |
ate |
열린 직후 스트림의 끝으로 찾습니다. |
binary |
이진 모드에서 엽니다. (이진 모드에 대한 설명은 참조 fopen 하세요.) |
in |
읽기용으로 열기 |
out |
쓰기를 위해 열기 |
trunc |
열린 후 파일의 내용을 삭제합니다. |
예시
// ios_base_openmode.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.open( "rm.txt", ios_base::out | ios_base::trunc );
file << "testing";
}
operator=
ios_base
개체에 사용할 대입 연산자입니다.
ios_base& operator=(const ios_base& right);
매개 변수
right
ios_base
형식의 개체입니다.
Return Value
할당 중인 개체입니다.
설명
연산자는 저장된 서식 정보를 복사하여 확장 가능한 배열의 새 복사본을 만듭니다. 그런 다음 *this
를 반환합니다. 콜백 스택은 복사되지 않습니다.
이 연산자는 ios_base
에서 파생된 클래스에서만 사용됩니다.
precision
부동 소수점 숫자에 표시할 자릿수를 지정합니다.
streamsize precision() const;
streamsize precision(streamsize _Prec);
매개 변수
_Prec
표시할 유효 자릿수 또는 고정 표기법에서 소수점 뒤의 자릿수입니다.
Return Value
첫 번째 멤버 함수는 저장된 표시 자릿수를 반환합니다. 두 번째 멤버 함수는 _Prec
를 표시 자릿수에 저장하고 이전에 저장된 값을 반환합니다.
설명
부동 소수점 숫자는 고정 표기법으로 fixed
표시됩니다.
예시
// ios_base_precision.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
float i = 31.31234F;
cout.precision( 3 );
cout << i << endl; // display three significant digits
cout << fixed << i << endl; // display three digits after decimal
// point
}
31.3
31.312
pword
pword
로 저장할 수 있는 값을 할당합니다.
void *& pword(int index);
매개 변수
index
pword
로 저장할 값의 인덱스입니다.
설명
멤버 함수는 형식 void
포인터의 요소를 사용하여 확장 가능한 배열의 요소 인덱스에 대한 참조를 반환합니다. 모든 요소는 효과적으로 존재하며 처음에는 null 포인터를 저장합니다. 반환된 참조는 개체에 pword
대한 다음 호출 후, 개체를 호출 basic_ios::
copyfmt
하여 변경한 후 또는 개체가 제거된 후 유효하지 않습니다.
인덱스가 음수이거나 요소에 대해 고유 스토리지를 사용할 수 없는 경우 함수는 고유하지 않을 수 있는 참조를 호출 setstate
(badbit)
하고 반환합니다.
고유한 인덱스(형식 ios_base
의 모든 개체에서 사용)를 가져오려면 .를 호출 xalloc
합니다.
예시
pword
사용 예제는 xalloc
를 참조하세요.
register_callback
콜백 함수를 지정합니다.
void register_callback(
event_callback pfn, int idx);
매개 변수
pfn
콜백 함수에 대한 포인터입니다.
idx
사용자 정의 숫자입니다.
설명
멤버 함수는 쌍을 {pfn, idx}
저장된 콜백 스택 콜백 스택으로 푸시합니다. 콜백 이벤트 ev 가 보고되면 함수는 식 (*pfn)(ev, *this, idx)
에 의해 레지스트리의 역순으로 호출됩니다.
예시
// ios_base_register_callback.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
using namespace std;
void callback1( ios_base::event e, ios_base& stream, int arg )
{
cout << "in callback1" << endl;
switch ( e )
{
case ios_base::erase_event:
cout << "an erase event" << endl;
break;
case ios_base::imbue_event:
cout << "an imbue event" << endl;
break;
case ios_base::copyfmt_event:
cout << "an copyfmt event" << endl;
break;
};
}
void callback2( ios_base::event e, ios_base& stream, int arg )
{
cout << "in callback2" << endl;
switch ( e )
{
case ios_base::erase_event:
cout << "an erase event" << endl;
break;
case ios_base::imbue_event:
cout << "an imbue event" << endl;
break;
case ios_base::copyfmt_event:
cout << "an copyfmt event" << endl;
break;
};
}
int main( )
{
// Make sure the imbue will not throw an exception
// assert( setlocale( LC_ALL, "german" )!=NULL );
cout.register_callback( callback1, 0 );
cin.register_callback( callback2, 0 );
try
{
// If no exception because the locale's not found,
// generate an imbue_event on callback1
cout.imbue(locale("german"));
}
catch(...)
{
cout << "exception" << endl;
}
// This will
// (1) erase_event on callback1
// (2) copyfmt_event on callback2
cout.copyfmt(cin);
// We get two erase events from callback2 at the end because
// both cin and cout have callback2 registered when cin and cout
// are destroyed at the end of program.
}
in callback1
an imbue event
in callback1
an erase event
in callback2
an copyfmt event
in callback2
an erase event
in callback2
an erase event
seekdir
오프셋 작업에 대한 시작 지점을 지정합니다.
namespace std {
class ios_base {
public:
typedef implementation-defined-enumerated-type seekdir;
static const seekdir beg;
static const seekdir cur;
static const seekdir end;
// ...
};
}
설명
이 형식은 여러 iostream
클래스의 멤버 함수에 대한 인수로 사용되는 검색 모드를 저장할 수 있는 개체를 설명하는 열거형 형식입니다. 고유 플래그 값은 다음과 같습니다.
beg
시퀀스의 시작 부분(배열, 스트림 또는 파일)을 기준으로 현재 읽기 또는 쓰기 위치를 변경합니다.cur
시퀀스 내의 현재 위치를 기준으로 검색합니다.end
시퀀스의 끝을 기준으로 찾습니다.
예시
// ios_base_seekdir.cpp
// compile with: /EHsc
#include <iostream>
#include <fstream>
int main ( )
{
using namespace std;
fstream file;
file.open( "rm.txt", ios_base::out | ios_base::trunc );
file << "testing";
file.seekp( 0, ios_base::beg );
file << "a";
file.seekp( 0, ios_base::end );
file << "a";
}
setf
지정된 플래그를 설정합니다.
fmtflags setf(
fmtflags _Mask
);
fmtflags setf(
fmtflags _Mask,
fmtflags _Unset
);
매개 변수
_Mask
설정할 플래그입니다.
_Unset
해제할 플래그입니다.
Return Value
이전 형식 플래그
설명
첫 번째 멤버 함수는 효과적으로 호출 flags(_Mask | _Flags)
(선택한 비트 설정)한 다음 이전 형식 플래그를 반환합니다. 두 번째 멤버 함수는 마스크 아래에서 선택한 비트를 효과적으로 호출 flags(_Mask & fmtfl, flags & ~_Mask)
한 다음 이전 형식 플래그를 반환합니다.
예시
// ios_base_setf.cpp
// compile with: /EHsc
#include <iostream>
int main( )
{
using namespace std;
int i = 10;
cout << i << endl;
cout.unsetf( ios_base::dec );
cout.setf( ios_base::hex );
cout << i << endl;
cout.setf( ios_base::dec );
cout << i << endl;
cout.setf( ios_base::hex, ios_base::dec );
cout << i << endl;
}
sync_with_stdio
iostream
C 런타임 라이브러리 작업이 소스 코드에 표시되는 순서대로 수행되도록 합니다.
static bool sync_with_stdio(
bool _Sync = true
);
매개 변수
_Sync
모든 스트림이 stdio
.
Return Value
이 함수에 대한 이전 설정입니다.
설명
정적 멤버 함수는 처음에는 동기화 플래그를 stdio
저장합니다 true
. 이 true
플래그를 사용하면 동일한 파일의 작업이 C++ 표준 라이브러리에 정의된 함수와 함수 간에 iostreams
제대로 동기화됩니다. 그렇지 않으면 동기화가 보장되거나 보장되지 않을 수 있지만 성능이 향상될 수 있습니다. 함수는 동기화 플래그에 stdio
저장 _Sync
되고 이전 저장된 값을 반환합니다. 표준 스트림에서 작업을 수행하기 전에 안정적으로 호출할 수 있습니다.
unsetf
지정된 플래그를 끕니다.
void unsetf(
fmtflags _Mask
);
매개 변수
_Mask
해제하려는 플래그입니다.
설명
멤버 함수는 효과적으로 호출 flags(~_Mask & flags)
합니다(선택한 비트 지우기).
예시
사용 unsetf
샘플은 참조하세요ios_base::setf
.
width
출력 스트림의 길이를 설정합니다.
streamsize width( ) const;
streamsize width(
streamsize _Wide
);
매개 변수
_Wide
출력 스트림의 원하는 크기입니다.
Return Value
현재 너비 설정입니다.
설명
첫 번째 멤버 함수는 저장된 필드 너비를 반환합니다. 두 번째 멤버 함수는 필드 너비에 저장 _Wide
되고 이전에 저장된 값을 반환합니다.
예시
// ios_base_width.cpp
// compile with: /EHsc
#include <iostream>
int main( ) {
using namespace std;
cout.width( 20 );
cout << cout.width( ) << endl;
cout << cout.width( ) << endl;
}
20
0
xalloc
변수가 스트림의 일부임을 지정합니다.
static int xalloc( );
Return Value
정적 멤버 함수는 저장된 정적 값을 반환하며 각 호출에서 증가합니다.
설명
멤버 함수를 호출할 pword
때 반환 값을 고유 인덱스 인수로 사용할 수 있습니다.iword
예시
// ios_base_xalloc.cpp
// compile with: /EHsc
// Lets you store user-defined information.
// iword, jword, xalloc
#include <iostream>
int main( )
{
using namespace std;
static const int i = ios_base::xalloc();
static const int j = ios_base::xalloc();
cout.iword( i ) = 11;
cin.iword( i ) = 13;
cin.pword( j ) = "testing";
cout << cout.iword( i ) << endl;
cout << cin.iword( i ) << endl;
cout << ( char * )cin.pword( j ) << endl;
}
11
13
testing