2012-09-16 4 views
0

나는 mediastream을 다운로드하기 위해 RTMPDump를 사용하고 출력을 내가 제어 할 수있는 스트림으로 리디렉션하여 진행 상황을 파싱하고 그걸로 무언가를 할 수 있습니다. 그러나 많은 명령 줄 도구와 마찬가지로이 프로그램은 프로그램이 실행되는 동안 지속적으로 업데이트되는 동일한 줄에 표시된 진행률을가집니다. 이런 식으로 보일까요?같은 줄을 지속적으로 업데이트 할 수있는 명령 줄 도구는 무엇입니까?

44929.160 kB/556.34 sec 

내 질문은 다음과 같습니다.이 특수 문자는 프로그램이 동일한 줄을 다시 쓸 수있게하는 문자 또는 줄을 삭제합니까? 아니면 다른 일이 있습니까?

답변

2

간단한 방법은 각 줄의 시작 부분에 캐리지 리턴을 인쇄하는 것입니다 :

# Using bash as an example 
for i in {0..10}; do 
    printf "\r%s" $i 
    sleep 1 
done 

더 복잡한 서식을보다 정확하게 커서의 위치를 ​​ANSI 이스케이프 코드를 사용하여 가능하다.

1

같은 줄을 쓰려면 문자를 삭제하고 새로운 줄로 덮어 써야합니다. 문자를 삭제하는 올바른 금액의 backspaces을 제공하면됩니다. 다른 옵션은 전체 콘솔을 지운 다음 다시 작성하는 것입니다. 이 작업은 System("cls"); (Windows의 경우 C++)에서 수행 할 수 있습니다.

관련 문제