반응형
개요
MATLAB을 통해서 배치 프로그램을 돌리다보면 프로그램 구동 상태를 확인하기 위해, 지저분하게 나만 알아볼 수 있는 상태 표시 메시지를 뿌리거나 아예 메시지를 안 뿌리곤 한다. 이런 경우에 루프의 상태를 확인하기 위해, Windows 명령 프롬프트나 Linux의 터미널 메시지가 다운로드 상태나 진행 상태를 텍스트로 뿌려주는 것에서 착안하여 찾아보았다.
방법
다음과 같이 사용하면 된다. 출력 메시지를 1초에 한번씩 갱신하면서 줄바꿈 없이 출력한다.
for i = 1 : 10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % place your code %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if (i ~= 1) fprintf(repmat('\b',1,strlength(msg))); end msg = sprintf("Show Message %d\n", i); fprintf(msg); pause(1); end
구조는 다음의 순서를 가진다.
1. 원하는 메시지를 msg에 sprintf로 담는다.
2. fprintf 으로 표준 출력(명령 창)에 메시지 msg를 뿌린다.
3. 뿌렸던 msg의 글자 수를 세서, 그만금 백스페이스('\b')를 입력해서 지운다.
정리하면 쓴 만큼 지워서 같은 줄에 원하는 메시지를 계속 뿌리는거다.
Reference
1. "How to clear the last line in the command window," https://stackoverflow.com/questions/8825796/how-to-clear-the-last-line-in-the-command-window/8826131
728x90
'SW' 카테고리의 다른 글
[PYTHON] socket 을 이용한 UDP 통신 테스트해보기 (0) | 2022.03.18 |
---|---|
[SIMULINK] 코드 생성 시 Simulink Header가 생성이 안됨. (0) | 2022.02.11 |
[SW] 프로세스 스케쥴링 (0) | 2021.01.31 |
Install VSCode on Jetson Nano/Xavier (0) | 2020.12.15 |
소개 - Cartographer, 실시간 SLAM 시스템 (0) | 2020.11.30 |