검색어 입력폼

[시스템프로그래밍]more 프로그램

저작시기 2005.06 |등록일 2006.05.27 한글파일한컴오피스 (hwp) | 4페이지 | 가격 1,000원

소개글

유닉스 명령어 중 more 라는 명령어가 있다.
이 명령어의 기능을 C언어로 구현하는 프로그램이다.

목차

1. 문제
2. 명세
3. 설계
4. 프로그래밍
5. 시험
6. 결과 및 고찰
7. 참고문헌

본문내용

3. 설계

① 텔넷으로 접속 하였을 때 터미널의 윈도우 사이즈를 아는 것이 제일 먼저 할 일이다.
그래서 사용한 함수가 ioctl()이라는 장치제어 함수이다.

ioctl() 함수는 input/output control을 의미하며 파일디스크립터(filedescriptor)를 가지고 캐릭터 디바이스(character device)를 조종하는데 사용 된다
이 함수를 사용하면 현재 터미널의 윈도우 사이즈를 알 수 있다.
그러기 위해서는 먼저 winsize라는 struct를 선언해야 하는데, 이 struct를 자세히 살펴보면 아래와 같다.

ioctl() 함수를 호출 한 후, struct winsize의 ws_row와 ws_col의 값을 보면 현재 터미널의 윈도우 사이즈의 값을 알 수 있다.

② 터미널의 윈도우 사이즈만큼 출력한 후, 사용자가 Enter를 입력하면 다음 화면으로 넘어가도록 하기 위해, 그 사이즈만큼 출력하고, getchar()을 써서 사용자가 Enter를 입력할 때 다음 화면으로 넘어가도록 한다.


4. 프로그래밍

1 #include <stdio.h>
2 #include <termios.h>
3 #include <unistd.h>
4
5
6
7 /* *************************************
8 * 설명 : 터미널 창의 가로와 세로의
9 * 길이를 알 수 있는 함수
10 *
11 * 매개변수 : int 형의 STDIN_FILENO
12 *
다운로드 맨위로