2016-09-15 1 views
0

나는 문제가있다. 나는 모든 것을 대신하여 화면의 깨끗한 부분을 필요로한다.콘솔의 일부를 청소하는 방법은 무엇입니까?

예를 들어

: 화면을 청소하는 경우

#include <iostream> 
using namespace std; 
int main() 
{ 
    string name, city; 
    int age; 
    cout<<"Enter your name"<<endl; 
    cin>>name; 
    cout<<"Enter your age"<<endl; 
    cin>>age; 
    cout<<"Enter your city"<<endl; 
    cin>>city; 
    cin.get(); 
    cin.get(); 
    return 0; 
} 

사용자가 도시의 변수에 숫자를 입력 가정, 나는 조건을 만들 수 있습니다,하지만 난 모든 것을 정리하고 싶지 않아, 마지막 부분 .

+2

화면 조작을 수행하려면'ncurses'와 같은 라이브러리를 사용해야합니다. 표준 C++은 이에 대한 조항을 제공하지 않습니다. – Barmar

+2

AFAIK, 표준 방법이 없습니다. 터미널 해킹은 항상 섬세한 비즈니스입니다. 좋은 대답은 당신이 염두에두고있는 특정 플랫폼을 언급하는 것입니다. 예를 들어, Posix에서 libncurses를 사용하면 가능합니다. 당신이 의도 한 대상 플랫폼에 질문을 태그하면 보통 더 나은 답변을 얻을 수 있습니다. – jforberg

답변

0

당신은 C를 사용하여 일부 UI를 작성하려는 경우

(당신이 그것을 처리하지 않으려는 그러나 저를 믿을 수 실제로) C++ 에서 유닉스 쉘 UI를 변경할 수 없습니다/C는 GTK를 확인 ++ .

그리고 모든 경우 화면을 비우고 일부 텍스트를 다시 그리는 것으로 충분할 것입니다.

0

'\r' 문자를 인쇄하여 대부분의 환경에서 마지막 줄만 지울 수 있습니다. 이것은 역사적으로 텔레타이프 머신의 헤드를 왼쪽으로 되돌려 놓은 ASCII 캐리지 리턴입니다.

또 다른 옵션은 '\L'으로 화면을 지우고 화면에 머물고 싶은 부분을 다시 인쇄하는 것입니다. 매우 느린 연결이 아니라면 눈에 띄는 깜박 거림은 없습니다.

+0

사용자는 이미 커서를 다음 행으로 이동하여 Enter를 누를 것입니다. – immibis

+0

내 대답을 수정했습니다. – Davislor

관련 문제