리눅스에서는 화일을 열어볼 수 있는 명령어가 cat이 있다.
이 명령어를 직접 구현해보자.
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
int main(int argc, char** argv)
{
char ch;
int fd;
if ( argc != 2 ) // 입력받을 인자에 대한 에러 처리.
{
printf( "argument error\n" );
printf( " usage : ./test.out filename\n"); // 사용법을 출력해준다.
exit( -1 );
}
fd = open(argv[1], O_RDONLY ); // 읽기 전용을 파일을 연다.
while( read( fd, &ch, 1 ) )
write( 1, &ch, 1 ); // 첫번째 인자 1번은 표준출력이다. 즉 모니터와 연결되어있다.
// ch를 1바이트씩 읽어서 모니터에 출력하라는 뜻이다.
// 성공시 쓰여진 바이트 수를 반환하고 쓰여진 것이 없으면 0을 반환한다.
// 에러일 경우 -1을 반환한다.
close(fd);
return 0;
}
'Programming > Linux System' 카테고리의 다른 글
| 리눅스에서의 래핑 함수 기법 (0) | 2010.07.07 |
|---|