반응형
<iomanip>란?
- <iomanip>는 이름 그대로 **I/O Manipulators (입출력 조정기)**의 약자로, iostream(cout, cin)과 함께 쓰는 포맷 제어 도구들을 모아둔 헤더입니다.
- 입출력 시 출력 형식(format)을 세밀하게 조정할 수 있는 함수(조정자, manipulator)를 제공합니다.
- 예: 숫자 자리수, 소수점 표현 방식, 폭(width), 채움 문자(fill), 진법 등
주요 기능 (자주 쓰는 것)
1. 소수점 자리수 제어
#include <iomanip>
cout << fixed << setprecision(2) << 3.14159; // 3.14
cout << scientific << setprecision(3) << 3.14159; // 3.142e+00
- fixed → 고정 소수점 형식
- scientific → 과학적 표기법
- setprecision(n) → 소수점 이하 자리수 n
2. 출력 폭 & 채움 문자
cout << setw(10) << 42 << endl; // " 42" (폭 10, 오른쪽 정렬)
cout << setw(10) << setfill('*') << 42; // "********42"
- setw(n) → 최소 폭 지정
- setfill(ch) → 빈칸 채울 문자 지정
3. 진법 출력
cout << hex << 255 << endl; // ff
cout << oct << 255 << endl; // 377
cout << dec << 255 << endl; // 255 (기본)
- hex → 16진수
- oct → 8진수
- dec → 10진수
4. 정렬 방식
cout << setw(10) << left << 42 << endl; // "42 "
cout << setw(10) << right << 42 << endl; // " 42"
cout << setw(10) << internal << -42; // "- 42"
- left, right, internal → 출력 정렬 방향 지정
5. bool 출력 방식
cout << true << " " << false << endl; // 1 0
cout << boolalpha << true << " " << false; // true false
- boolalpha → true/false 문자 출력
- noboolalpha → 1/0 출력 (기본)
예제 종합
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double pi = 3.14159;
int n = 42;
cout << fixed << setprecision(2) << "pi=" << pi << endl; // pi=3.14
cout << setw(8) << setfill('*') << n << endl; // ******42
cout << hex << n << endl; // 2a
cout << boolalpha << (n > 0) << endl; // true
}
정리
- <iomanip> = 입출력 조정자 헤더
- 주요 기능: setprecision, setw, setfill, fixed, scientific, hex/oct/dec, left/right/internal, boolalpha
- cout/cin을 “포맷팅된 입출력 도구”로 만들어 줌
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
| C++ string compare 사용법 (0) | 2025.10.01 |
|---|---|
| C++ string 주요 멤버 함수 (0) | 2025.10.01 |
| C++ ostringstream string 버퍼를 이용한 출력 (0) | 2025.10.01 |
| C++ to_string 숫자 -> 문자열 변환 함수 (0) | 2025.10.01 |
| C++ 문자열 -> 숫자 변환 atoi vs stoi vs from_chars (1) | 2025.10.01 |
댓글