C에서 16진수를 출력하는 경우의 예
int number = 10;
printf("%#x\n", number);
문제점: 쉽게 읽히지 않는다.
Manipulator(조정자)를 통해 출력하는 경우의 예
int number = 10;
std::cout << showbase << hex << number << std::endl;
manipultor의 종류
showpos/noshowpos (pos: positive)
std::cout << showpos << number; // +123
std::cout << noshowpos << number; // 123
dec/hex/oct
std::cout << dec << number; // 10진수 123
std::cout << hex << number; // 16진수 7b
std::cout << oct << number; // 8진수 173
uppercase / nouppercase
std::cout << uppercase << hex << number; // 7B
std::cout << nouppercase << hex << number; // 7b
showbase/noshowbase
std::cout << showbase << hex << number; // 0x7b
std::cout << noshowbase << hex << number; // 7b
left/internal/right
int number = -123;
std::cout << setw(6) << left << number; // |-123 |
std::cout << setw(6) << internal << number; // |- 123|
std::cout << setw(6) << right << number; // | -123|
showpoint / noshowpoint
float decimal1 = 100.0;
float decimal2 = 100.12;
std::cout << noshowpoint << decimal1 << " " << decimal2; //100 100.12
std::cout << showpoint << decimal1 << " " << decimal2; //100.000 100.120
fixed / scientific
fixed: 숫자로 표현하는 고정적 실수 표기법
scientific: 유효한 값을 정수부로 두고 나머지를 모두 소수점으로 만든 뒤 몇 승을 해야하는지를 나타낸 표기법.
float number = 123.456789;
std::cout << fixed << number; //123.456789
std::cout << scientific << number; //1.23456789E+02
boolalpha / noboolalpha
bReady = true;
std::cout << boolalpha << bReady; //true
std::cout << noboolaplpha << bReady; // 1
#include <iomanip>
를 include 해야 사용할 수 있는 조정자.
setw()
→ column 수를 정해줌
std::cout << setw(5) << number // | 123|
setfill()
std::cout << setfill('*') << setw(5) << number // **123
setprecision()
float number = 123.456789;
std::cout << setprecision(7) << number // 123.4567
cout 멤버 메서드
네임 스페이스: ios_base
manipulator 사용 | cout 멤버 메서드 사용 |
---|---|
cout << showpos << number; |
cout.setf(ios\_base::showpos); cout << number; |
cout << setw(5) << number; |
cout.width(5); cout << number; |
setf(), unsetf()
- boolalpha
- showbase
- uppercase
- showpos
width(), fill(), presicion()
- 첫 번째 인자와 두 번째 인자를 나누어 넣어야 한다.
- manipulator 사용하는 것이 낫다.
'Language > C++' 카테고리의 다른 글
[C++] 5.Unmanaged Programming: 문자열(string) (0) | 2024.01.21 |
---|---|
[C++] 4.Unmanaged Programming: 참조(Reference) (0) | 2024.01.21 |
[C++] 3.Unmanaged Programming: 입력 스트림(Input Stream) (1) | 2024.01.21 |
[C++] 1.Unmanaged Programming: namespace (0) | 2024.01.21 |
[C++] 0.Unmanaged Programming (0) | 2024.01.19 |