2014-02-20 3 views
0

XCode를 사용하여 클래스 용 C++ 프로그램을 작성하려고합니다. 내가하고 싶은 일 중 하나는 단순히 화면을 지우는 것입니다. 필자는이 작업을 수행하는 방법을 살펴 보았지만 Windows 및 Macintosh 컴퓨터에서 코드를 실행해야한다는 사실을 알게되었습니다. 다른 유사한 질문을 살펴 보았지만 그 답변이 도움이되지 않습니다. 나는 "화면"이 없다는 것을 알고 있지만 시스템이 출력 창을 지우길 원합니다. 나는 명령 system("clear"); 내가 그것을 원하는 것을 알고 있지만, 엑스 코드는 대신 내가 개방 단자와 clear을 입력 시도했습니다 TERM Variable not setC++/XCode의 클리어링 화면

인쇄 화면을 클리어의 프로그램을 테스트하고 때 그것은 실제로 응답 않습니다 나는 그것을 원한다. 그렇다면 Xcode의 '터미널'은 왜 그렇게하지 않는가? XCode의 출력 창을 터미널이 이미 수행 한 것과 동일한 방법으로 clear에 응답하려고합니다.

다음은 이미 시도한 내용입니다.

나는 단말기에 가서 echo $TERM을 실행했으며 단말기는 xterm-256color으로 응답했다. 그런 다음 XCode로 가서 "Scheme"설정을 열고 "Arguments"아래에서 환경 변수 설정을 찾았습니다. TERM이라는 변수를 (빈 목록에) 추가하고 값을 xterm-256color으로 지정했습니다. 프로그램을 다시 실행하면 출력 창에 ¿[H¿[2J이 표시되고 TERM Variable not set이 인쇄되는 데 사용됩니다.

마지막으로 알려 주신 바와 같이 에서 소스 코드를 현재대로 변경하거나 프로그램이 Windows 컴퓨터에서 실행될 때 오류가 발생할 수 있습니다.

+0

운영 체제마다 다릅니다. [ncurses] (http://www.gnu.org/software/ncurses/)를 사용하는 것이 좋습니다. –

답변

1

"거짓말"하기 때문에 작동하지 않습니다. Xcode의 터미널이 xterm-256color이 아니지만, dumb 터미널입니다. 보다 정확하게 디스플레이는 stdout 및/또는 (대상 스위치에 따라) stderr을 수집하는 NSTextStorage을 나타냅니다.

벙어리 터미널은 디스플레이를 청소할 수 없습니다. 이것을 변경하려면 Xcode-Colors과 유사한 플러그인을 작성하여 ansi 색상 코드를 이해하는 기능을 추가하십시오.

그러나 코드가 단순히 Windows와 OSX에서 실행된다는 요구 사항이 있다면 "정상적인"OSX 터미널에서 완벽하게 작동하므로 솔루션 system("clear")을 사용할 수 있습니다.

+0

감사합니다. 내 유일한 진짜 문제는 내가 소스 코드뿐만 아니라 프로그램에 출력을 설정해야한다는 것입니다. 차라리 출력을 제대로 얻으려면 XCode와 XCode 외부에서 프로그램을 실행하지 않아도됩니다. 일반 터미널처럼 출력을 표시하도록 Xcode를 설정하는 방법이 있습니까? – NanoCarp

+0

필요한 라인을 잘라 붙여 넣습니다. – Matthias