-
Notifications
You must be signed in to change notification settings - Fork 2
2014 07 24 iostream을 이용할 때 문자열 포맷팅
krikit edited this page Nov 26, 2014
·
1 revision
C에서 printf를 이용하여 출력 포맷을 보기 좋게 하는데요, C++의 iostream을 이용할 때에도 유사한 방법이 있습니다.
- boolalpha, noboolalpha: bool 타입의 출력 포맷을 결정 (default: noboolalpha)
std::cout << std::boolalpha << true; // "true"
std::cout << std::noboolalpha << true; // "1"
- hex, oct, dec: 숫자를 16진수, 8진수 및 10진수로 출력 (default: dec)
std::cout << std::hex << 10; // "a"
std::cout << std::oct << 10; // "12"
- setprecision: 실수의 전체 자릿수를 지정 (소수점 이하가 아닙니다.)
std::cout << std::setprecision(4) << 95.1357; // "95.14"
- setw, setfill: 숫자 출력을 위한 자릿수 너비 및 채울 문자를 지정
#include <iomanip>
std::cout << std::setw(4) << std::setfill('0') << 321; // "0321"
그 외 다른 문자열 매니퓰레이터에 관한 자세한 내용은 다음을 보시기 바랍니다.
입력 스트림에도 매니퓰레이터가 있는데, 그 중 아래 두 가지 정도만 기억하시면 될 듯 합니다.
- skipws, noskipws: 입력 문자열을 토큰화할 때 공백을 생략할 지 여부를 지정
- ws: 현재 위치로부터 연속된 공백을 생략할 때 사용