본문 바로가기
dev, tech

이중 연결 리스트를 이용한 텍스트 뷰어

by 구띵 2006. 4. 18.

이중 연결 리스트 사용

텍스트 파일에서 한 문장을 읽어 들여 이중 연결 리스트에 저장한다.

 

 

fgets() 사용

텍스트 파일의 한 문장이라는 것은 C처럼 NULL 로 끝나는 문자열이 아니라 CR+LF(캐리지 리턴과 라인 피드) 문자에 의해 끝이 나는 단위를 말한다. C에서는 이러한 구조의 파일을 한 문장씩 잘라서 읽게 해주는 fgets()라는 편리한 함수가 있기 때문에 이것을 이용한다.

 

 

conio,h에 선언된 함수들을 사용

뷰어에서 문자 출력 함수는 속도가 빨라야 하고, 속성도 조절해야 하고, 커서의 위치도 옮겨 다녀야 한다. 그래서 stdio.h의 문자 출력 함수 보다는 일단은 빠르고 PC의 텍스트 화면 제어에 필요한 거의 모든 함수들이 구비되어 있다. 하지만, conio.h의 함수들도 비디오 메모리를 직접 제어하는 방법으로 사용자가 직접 작성한 출력 함수 보다는 아무래도 느릴 수 밖에 없다.

 

bioskey() 사용 - key.h

텍스트 뷰어에서 사용할 수 있는 키는 PGUP, PGDN, ESC.

키의 입력을 받기위해 bioskey()함수를 사용하는데, 이 함수는 키보드의 스캔 코드와 아스키 코드를 조합한 코드를 리턴한다.

 

구성

- 이중 연결 리스트를 초기화하는 모듈

- 파일에서 문장들을 읽어 이중 연결 리스트를 구축하는 모듈

- 이중 연결 리스트의 내용을 화면에 출력하는 모듈

- 사용자의 키 입력을 처리하는 모듈

 

 

댓글