포스트

setw()

이 글은 제 개인적인 공부를 위해 작성한 글입니다.
틀린 내용이 있을 수 있고, 피드백은 환영합니다.

개요


#include<iomanip>에 포함되어 있다.

출력하는 데이터의 칸을 지정한 수만큼 정렬 시켜주는 편리한 함수이다.


사용법


1
2
cout << setw(3) << 1 << '\n';
// '  1' 출력

setw(n) 이후에 출력하는 데이터의 너비를 n으로 정렬해준다.

즉, n만큼의 너비를 확보하고, 데이터를 오른쪽 칸부터 채워넣게 해준다.

1
2
cout << left << setw(3) << 1 << "#" << '\n';
// '1  #' 출력

만약 데이터를 왼쪽부터 출력하고 싶으면, left를 사용하면 된다. (right도 있다.)

이 설정은 sticky하므로 이후에 쓰는 setw에 모두 적용된다.

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
29
const int N = 100;
const int K = 3;
for (int i = 1; i <= N; i *= 10)
	cout << setw(K) << i << '\n';

for (int i = 1; i <= N; i *= 10)
	cout << left << setw(K) << i << "#" << '\n';

for (int i = 1; i <= N; i *= 10)
	cout << setw(K) << i << "#" << '\n';

for (int i = 1; i <= N; i *= 10)
	cout << right << setw(K) << i << '\n';

/* 
출력
  1
 10
100
1  #
10 #
100#
1  #
10 #
100#
  1
 10
100
*/


참고


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.