글 수 48
2013.07.07 17:28:42 (*.233.153.72)
22275
랜포트가 몇 개인지 확인하기 위해서는 시스템 정보를 뒤지는 방법이 있겠습니다만,
ifconfig를 실행해서 구하는 정보가 제일 정확하지요. ifconfig를 실행하면 eth- 접두어를 시작으로
랜포트별 네트워크 환경을 출력하면 eth문자열이 몇 개 나오는지 확인해도
랜포트 개수를 알 수 있습니다.
#define BUF_SIZE 1024 int count_ethercard( void) { FILE *fp; char buff[BUF_SIZE]; char *cmd_ifconfig = "ifconfig -a | grep eth"; int cnt_ether; fp = popen( cmd_ifconfig, "r"); if ( NULL == fp) return 0; // 랜카드의 개수는 출력되는 행의 개수로 확인한다. cnt_ether = 0; while( NULL != fgets( buff, BUF_SIZE, fp)){ cnt_ether++; } pclose(fp); return cnt_ether; }
popen()으로 간단히 랜포트 개수를 구했습니다.