티스토리 뷰
C++은 cout << 을 이용하여 변수와 값을 화면에 출력하기는 좋으나 C언어에서 사용하던 printf의 강력한 포매팅 기능을 이용하기는 어렵다. 칸맞추기와 좌우 정렬, 소수점 수의 자리수 등은 보기좋은 출력을 위해 매우 중요한 문제다. 이를 해결하기 위한 C++의 방법은 좀 다르게 되어 있어 따로 배워야 한다.
#include <iomanip>
이것이 출력 포매팅을 위한 C++의 헤더다. 여기에 자리수와 정렬, 칸맞추기 기능이 들어있다.
cout << setw(10) << name << age << "세" << endl;
setw(10) 은 넓이를 10칸으로 맞추어 출력하라는 뜻이다. 이 경우 name의 길이에 빈칸을 더해 10칸을 맞추고 뒤에 나이가 출력된다.
cout << right < setw(10) << name << setw(5) << age << "세" << endl;
name이 "lee"고 나이가 20이라면 출력은 다음과 같다.
□□□□□□□lee□□□20세
좌우 정렬을 위한 left나 right는 다시 지정하지 않으면 유지되지만 setw()는 한번만 유효함을 알 수 있다. 한편 소수점 수의 자리수를 지정하기 위해서는 setprecision(5)을 사용할 수 있다. 이 때 자리수는 소수점 이하와 소수점 위의 모든 유효숫자의 자리수를 의미한다.
double pi =3.14159;
cout << setprecision(5) << pi << endl;
cout << setprecision(9) << pi << endl;
// 3.1415
// 3.14159
setprecision()은 한번 지정하면 계속 유지된다.
double pi = 3.141568;
cout << setprecision(5) << pi << setw(7) << pi << endl;
cout << pi;
// 출력 (빈칸을 _로 표시)
3.1415_3.1415
3.1415
'C++ << C & Java' 카테고리의 다른 글
C++ 클래스 예제 (2) - 자바 코드를 C++로 바꾸기 - Store 클래스 (0) | 2019.04.05 |
---|---|
C++ 객체 변수와 객체의 생성 및 소멸 (0) | 2019.04.01 |
C++의 참조형 (0) | 2019.03.28 |
C++ 클래스 맛보기 (0) | 2019.03.28 |
Hello, C++!! (0) | 2019.03.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- python example
- CompareTo
- follow
- 자바regex
- zip
- Lazy evaluation
- contentEquals
- contains
- 패턴
- 동적바인딩
- indexof
- 이터러블
- TypeError
- max
- 이터레이터
- C++ 클래스
- 스트링 +
- ToString
- typedef
- 콜렉션
- sort key
- 지연계산
- rust
- format
- comparable
- 스트링
- Camel Style
- Iterator
- python exercise
- APPEND
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함