http://smok95.tistory.com/category/Programming/C/C++
윈도우나 유닉스계열에서 프로그램내에서 시스템 명령이나 특정프로그램을 실행하고 그 결과값을 확인하고자 할때 popen함수를 이용하여 결과를 확인할 수 있습니다.
예제)
* 소스를 복사하시려는 경우 커서를 소스에 위치시키신 후 더블클릭하신후 Ctrl+C 로 복사하시면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <stdio.h> #include <errno.h> /* errno */ #include <string.h> /* 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; } </string.h></ errno .h></stdio.h> |
참고사이트
http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/2/popen#AEN8
http://msdn.microsoft.com/ko-kr/library/96ayss4b(VS.90).aspx
반응형
'차근차근 > C' 카테고리의 다른 글
폴더 재귀호출 (0) | 2014.10.21 |
---|---|
디렉토리 검색 (0) | 2014.10.21 |
CString 의 비밀 (0) | 2014.09.04 |
LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 의 의미 (0) | 2014.09.04 |
"std::string"에서 "LPCTSTR"(으)로의 적절한 변환 함수가 없습니다. (0) | 2014.09.04 |