2012-06-06 2 views
2

나는 원격 컴퓨터 시스템 정보, 기록 된 사용자 수, 사용 가능한 메모리 등을 모니터링 할 수있는 C 프로그래밍 언어로 응용 프로그램을 작성 중입니다.리눅스 터미널 - 많은 양의 데이터 인쇄하기

수집 된 정보를 표준 출력에 작성합니다. 그러나 일반적으로 더 많은 정보가 터미널 하나의 단일 창에 표시되므로 결과를 통해 일종의 '스크롤링'을 구현해야합니다.

가장 쉬운 해결책은 예를 들어 처음 25 행을 인쇄 한 다음 사용자가 위 또는 아래로 밀고 그에 따라 모든 행을 다시 작성할 때까지 기다리는 것입니다.

터미널에서 이러한 출력을 처리하는 좀 더 쉽고/우아한 방법이 있습니까?

편집 : 몇 가지 새로운 입력이 일부 원격 컴퓨터에서 오는 경우 데이터를 새로 고침하고 싶습니다. 예 : 프로세스 변경 횟수.

+3

출력 내용을 모두 출력하고 출력을 스크롤하는 데 사용되는 호출기를 줄이면 어떨까요? – Artefact2

답변

3

저주가 필요합니다.

여기에 guide to the ncurses library이 있습니다.

터미널 용 구식 GUI 라이브러리입니다. topmake menuconfig과 같은 것은 그것을 사용하므로 모든 시스템에 있습니다. "25 행 인쇄 및 새로 고침"과 "스크롤 할 수있는 텍스트 영역에 데이터 넣기"측면에서 생각을 멈출 수 있습니다.

+0

당신은 스크롤 가능한 텍스트 영역을 말합니다.하지만이 스크롤 가능한 패널을 작성하는 것은 Ncurses 창을 생성하고, 문자열을 출력 한 다음 사용자 입력을 듣고 모든 것을 한 줄 위/아래로 이동하고 새로운 것을 쓰는 것으로 구성됩니까? – Andna

+0

@Andna : 현재하고있는 일에 따라 새로 작성할 필요가 없습니다. 'newpad '로'pad'를 가져 와서 그 위치를 바꿀 수 있습니다 (하나의 함수 호출). – cha0site

+0

감사합니다. Ncurses를 사용해 보겠습니다. – Andna

3

more (또는 less)과 같은 외부 호출기를 사용하여 출력 페이지 매김을 지정하십시오. 유닉스의 강점은 이미 존재하는 기능을 재발 명하는 대신 파이프 라인을 만드는 간단한 명령을 결합하는 데있다.

관련 문제