Stream Manipulators
저장소/VC++Stream Manipulators
MSDN : http://msdn.microsoft.com/en-us/library/vstudio/chfx9kse(v=vs.100).aspx
아오.. msdn에서 찾기 힘들어서 검색, 아래 내용 출처는 지식인
입력하거나 출력하는 데이터를 스트림(stream)이라고 하고 이런 조작기들을 스트림 조작기(stream manipulators)라고 한다.
[표] I/O 스트림 조작기 | |
조작기 | 설명 |
dec hex oct endl ends flush setbase(int n) resetiosflags(long f) setiosflags(long f) setfill(int c) setprecision(int n) setw(int n) | 10진수 전환 베이스를 설정한다. 16진수 전환 베이스를 설정한다. 8진수 전환 베이스를 설정한다. 개행문자('\n')를 삽입하고 스트림 내용을 지운다. 문자열에 널 문자를 삽입한다. 출력 스트림의 내용을 지운다. n진수로 전환 설정한다. 형식 플래그인 f.f에 의해 지정된 형식을 지운다. 형식 플래그인 f.f에 의해 지정된 형식을 설정한다. c로 채우기 문자를 설정한다. n으로 부동 소수점 유효자리를 설정한다. n으로 필드 폭을 설정한다. |
[표] resetiosflags()와 setiosflags()를 위한 형식 플래그 값. | |
형식 플래그 이름 | 설명 |
ios::left ios::right ios::scientific ios::fixed ios::dec ios::hex ios::oct ios::uppercase
ios::showbase ios::showpos ios::showpoint | setw() 폭 안에 출력을 좌측 정돈한다. setw() 폭 안에 출력을 우측 정돈한다. 과학용 표기로 출력을 형식 지정한다. 10진수 형식으로 숫자를 형식 지정한다. 10진수로 숫자를 형식 지정한다. 16진수로 숫자를 형식 지정한다. 8진수로 숫자를 형식 지정한다. 16진수와 과학용 표기의 문자를 대문자로 형식 지정한다. ( 0x123을 0X123으로, 2.34e+05를 2.34E+05로 ) 수치 베이스 접두 문자를 출력한다.( 16진수의 0x나 8진수의 0 ) 양수를 출력할 때 플러스 부호, +를 출력한다. 정확도를 위해 필요하다면 끝의 0들을 표시한다. |
형식 플래그의 값들은 상수이다. 영역 지정 연산자(::)는 나중에 설명한다.
형식 플래그는 두 함수 resetiosflags()와 setiosflags()에서만 작동한다.
예제 | ☞ | 조작기 사용 |
#include
#include
#include
void main(){
int num=220;
clrscr();
cout << "The decimal num is " << num << "\n"; // The decimal num is 220
cout << "The hexadecimal num is " << hex << num << "\n";
// The hexadecimal num is dc
cout << "The octal num is " << setbase(8) << num << "\n";
// The octal num is 334
cout << setbase(10);
cout << 12345 << "\n"; // 12345
cout << setw(20) << 12345 << "\n"; // ' 12345'
cout << setw(20) << setfill('*')<< 12345 << "\n"; // ***************12345
cout << setiosflags(ios::left);
cout << setw(10) << 12345 << "\n"; // 12345*****
cout << setiosflags(ios::hex) << 45 <<"\n"; // 2d
cout << setiosflags(ios::hex | ios::uppercase) << 45 <<"\n"; // 2D
getch();
}
'저장소 > VC++' 카테고리의 다른 글
Aasynchronous WinHTTP (0) | 2013.10.31 |
---|---|
윈도우의 오류 메커니즘(마이크로소프트웨어 신영진님 기고글) (0) | 2013.10.23 |
System Performance Monitoring (0) | 2013.08.06 |
printf Type Field Characters & Size Specification (0) | 2013.07.29 |
SQLite - Transaction과 Database Lock (0) | 2013.07.25 |