2014-07-11 4 views
0

코드의 한 지점 이후에 내 mvwprintw 문을 사라지게하고 싶습니다. 나는 인쇄 문을 어떻게 삭제하는지 모르겠다. 그것을 할 수있는 인쇄 기능이 있습니까? 나는 공백으로 가득 찬 또 다른 문장을 만들어서 기존 문장과 겹칠 것이라고 생각하고 공백으로 보았습니다. 온라인으로 보았지만 아무 것도 찾을 수 없었습니다. 방법이 있으면 알려주세요.C - 내 창에서 mvwprintw를 제거하는 방법이 있습니까? (Ncurses)

+0

을 취소하여 전체 라인을 취소 할 수 있습니다 "나는 그것이 겹치는 것입니다 생각하는 공간의 전체 또 다른 문을 작성하여 시도 그것은 공백으로 보일 것이다. " 실제로 무슨 일이 있었습니까? 시도한 것을 보여줄 수있는 코드를 제공 할 수 있습니까? –

+0

아무 일도 일어나지 않았지만 이전 메시지가 계속 표시되었습니다. – user3753834

답변

0

나는 실제로 길을 찾았습니다. 장래에 똑같은 문제가있는 사람에게 도움이 되었기를 바랍니다. 당신이해야 할 일은 진술의 시작 부분에 \r을 붙이기 만하면 그 자리에 이전에 라이트가 끝날 것입니다.

mvwprintw(win2,3,16,"Hi."); 
mvwprintw(win2,3,16,"\rPlease make your first move."); //overwrites the "Hi" 
mvwprintw(win2,3,16,"\rPlease make your second move.");//overwrites the "Please make your first move" 

인쇄 명령문에 공백을 추가하면 이전 메시지가 지워집니다.

+0

마지막으로 인쇄 된 텍스트를 작은 문장으로 덮어 쓰면 제대로 작동합니까? –

+0

아니요, 적용되지 않는 이전 텍스트의 나머지 부분을 표시합니다. 당신은 새로운 문장의 끝 부분에 공백을 추가하는 것을 해결할 수 있습니다. 이 모든 것을 다룰 것입니다. – user3753834

+0

응, 고마워. –

1

당신은 라인

move(3,0); 

의 시작 부분으로 이동 한 후 행

clrtoeol();