12월 07, 2016

\b의 용도


 \b

 \b 는 back space를 의미하는 escape sequence로,  \n 과 같이 다음 출력의 위치를 바꿔주는 역할을 한다.  \n 는 다음 출력의 위치를 다음 줄로 바꿔주는데,  \b 는 다음 출력의 위치를 이전으로 한칸 이동(back space) 한다. 아래 예를 참고하자.

cout << "asdf";    // (1) asdf
cout << "1234";   // (2) asdf1234

(1)이 실행되면 콘솔에서 asdf가 출력된다. 출력을 계속하면 다음에 출력할 문자는 f 뒤부터 출력이 되는데, 이는 콘솔 상에서 마지막 출력의 다음 위치를 cursor가 가르키고 있다가 출력이 재개되면 cursor의 위치부터 출력을 계속하기 때문이다. 만약 되돌려진 커서의 위치에 기존 출력의 내용이 있다면 기존의 출력을 새로운 출력으로 덮어쓰게 된다.

// _ (underline)은 커서의 위치
cout << "asdf";    // (3) asdf_
cout << '\b';        // (4) asdf
cout << "1234";   // (5) asd1234_

이를 응용해 이미 출력된 내용을 지울 수도 있다.

// \b로 커서를 하나 되돌린 후 ' '(공백)을 출력해서 기존 출력을 지운 후, 다시 커서를 되돌림
cout << "asdf";    // (6) asdf_
cout << "\b \b";    // (7) asd_

reference

댓글 없음:

댓글 쓰기