C함수 파이프 닫기 pclose()
popen()에서 열기를 한 파이프 핸들 사용을 종료합니다.
- 헤더: stdio.h
- 형태: int pclose( FILE *stream)
- 인수: FILE *stream 닫기를 할 파일 포인터
- 반환: -1 != 성공, -1 == 실패
C언어 pclose() 함수 예제
예제에서는 route 명령을 실행하여 그 결과를 화면에 출력합니다. 예제 내용은 간단합니다만 읽어 들인 문자열을 가공한다면 게이트웨이 정보를 구할 수 있습니다.
#include <stdio.h>
#define BUFF_SIZE 1024
int main( void)
{
char buff[BUFF_SIZE];
FILE *fp;
fp = popen( "route", "r");
if ( NULL == fp){
perror( "popen() 실패");
return -1;
}
while( fgets( buff, BUFF_SIZE, fp) )
printf( "%s", buff);
pclose( fp);
return 0;
}
C언어 pclose() 예제 실행 결과
]$ ./a.out
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.10.1 0.0.0.0 UG 0 0 0 eth0
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 파이프를 이용한 IPC 함수 pipe() (0) | 2020.03.16 |
---|---|
C언어 파이프 생성 함수 popen() (0) | 2020.03.16 |
C언어 레코드 잠금 함수 fcntl() (0) | 2020.03.16 |