2012-07-12 4 views
0

명령 프롬프트를 열지 않고 여러 DOS 명령의 결과를 캡처하여 문자열에 저장해야하는 Windows 응용 프로그램을 만듭니다. 나는 볼랜드 도서관을 이용하고 있습니다.C++에서 DOS 명령의 결과를 캡처하는 방법

system("dir") 따라서 좋지 않습니다. 각 명령의 결과는 문자열 변수에 기록해야 로그 및 별도의 파일에 기록 할 수 있습니다.

나는 정의 된 XML 파일이 있습니다.

내가 가장 고심하고있는 것은 실제로 출력을 문자열 변수로 캡처하는 것입니다. 나는 _popen에 대해 들었지만 사용하려고 애쓰는 데 문제가 있습니다.

+0

어떻게'_popen'을 사용하려했는지, 그리고 그 문제점은 무엇인지 보여줄 수 있습니까? – Useless

+0

** DOS ** 명령에 대해 정말로 말하고 있습니까? 아니면 콘솔 프로그램을 언급하고 있습니까? 이 봐 : http://msdn.microsoft.com/en-us/library/windows/desktop/ms682499.aspx – 0xC0000022L

+0

귀하의 질문은 조금 막연하지만 내 [작은 응용 프로그램] (http://github.com/iKlsR/pclc) 다른 라이브러리를 빨리 컴파일하기 위해 * 도움이 될 수도 있습니다. – iKlsR

답변

0

보통 스트림을 파일 (임시 또는 사용자가 언급 한 별도의 파일)로 리디렉션 할 수있는 freopen()이라고 생각합니다. 프로세스가 닫히면 로그에 파일을 읽습니다.

'결과'는 반환 값이 아닌 명령의 출력이라고 가정합니다.

관련 문제