C언어 파이프 닫기 함수 pclose()

2020. 3. 16. 07:59 컴퓨터/프로그래밍

C함수 파이프 닫기 pclose()

popen()에서 열기를 한 파이프 핸들 사용을 종료합니다.

  • 헤더: stdio.h
  • 형태: int pclose( FILE *stream)
  • 인수: FILE *stream 닫기를 할 파일 포인터
  • 반환: -1 != 성공, -1 == 실패

예제

예제에서는 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;
}

실행 결과

]$ ./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
]$
이 댓글을 비밀 댓글로