-
명령어 실행하기 - popen 예제Programming/C,C++,C# 2010. 7. 31. 23:40반응형
윈도우나 유닉스계열에서 프로그램내에서 시스템 명령이나 특정프로그램을 실행하고 그 결과값을 확인하고자 할때 popen함수를 이용하여 결과를 확인할 수 있습니다.
예제)
* 소스를 복사하시려는 경우 커서를 소스에 위치시키신 후 더블클릭하신후 Ctrl+C 로 복사하시면 됩니다.
#include
#include /* errno */ #include /* strerror */ #ifdef WIN32 #define popen _popen #define pclose _pclose #endif int main(int argc, char* argv[]) { const char *pszCommand = "dir"; FILE *fp = NULL; size_t readSize = 0; char pszBuff[1024]; // 명령어 실행 fp = popen(pszCommand, "r"); if( !fp) { printf("오류 [%d:%s]\n", errno, strerror(errno)); return -1; } // 결과값 읽기 readSize = fread( (void*)pszBuff, sizeof(char), 1024-1, fp ); if( readSize == 0 ) { pclose(fp); printf("오류 [%d:%s]\n", errno, strerror(errno)); return -1; } pclose(fp); pszBuff[readSize]=0; // 결과 출력 printf("%s\n", pszBuff); return 0; }
참고사이트
http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/2/popen#AEN8
http://msdn.microsoft.com/ko-kr/library/96ayss4b(VS.90).aspx
반응형'Programming > C,C++,C#' 카테고리의 다른 글
[MFC] HFONT로부터 폰트명 확인 (Get font name from HFONT) (1) 2015.01.14 C#.NET 으로 전역후킹 프로그램 만들때 주의사항..(WH_GETMESSAGE) (1) 2008.12.12 생성자함수에서 생성자(오버로딩)함수를 호출할때 주의할 점 (2) 2008.01.11