Skip to content

2014 07 24 iostream을 이용할 때 문자열 포맷팅

krikit edited this page Nov 26, 2014 · 1 revision

iostream을 이용할 때 문자열 포맷팅

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: 현재 위치로부터 연속된 공백을 생략할 때 사용
Clone this wiki locally