[ C++ ] 문자열 패딩을 만드는 법

예제

문자열 “123” 앞에 “0” 패딩을 3개 붙이기

string a("123");
string b = string(3, '0');
int paddings = 4;

a.insert(0, b); // "000123": 첫째 인수는 삽입하고자하는 위치, 두번째는 삽입하려는 문자열!
a.insert(a.size(), string(paddings, '0')); // "0001230000"

디버깅

아래의 함수를 헷갈리면 안된다. 2번째 매개변수는 문자열이 아니라 문자 리터럴을 사용해야한다.

string b = string(3, '0'); // 좋은 예

안그러면 문자열의 null캐릭터까지 추가가 되어 패딩으로서의 역할을 하지 못한다.

string(paddings, "0"); // 널캐릭터까지 추가되어 패딩이 망가진다.