>백엔드 개발 >C++ >C/C의 `system()` 명령에서 stdout을 원활하게 캡처하려면 어떻게 해야 합니까?

C/C의 `system()` 명령에서 stdout을 원활하게 캡처하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-03 15:09:10423검색

How Can I Seamlessly Capture stdout from a `system()` Command in C/C  ?

system() 명령에서 stdout을 원활하게 캡처

system() 명령을 사용하여 시작된 외부 애플리케이션의 stdout 출력을 캡처하는 것이 필수적입니다. 많은 응용 분야에 사용됩니다. C/C에는 이 작업을 수행하기 위한 몇 가지 접근 방식이 있습니다.

최적의 방법 중 하나는 popen() 및 pclose() 함수를 활용하는 것입니다.

#include <stdio.h>

int main() {
    FILE *fp;

    fp = popen("ls", "r");
    // Capture output and process accordingly
    pclose(fp);

    return 0;
}

popen()을 사용하면, 지정한 명령의 표준 출력에 대한 파이프를 열 수 있습니다. pclose() 함수는 파이프를 닫고 명령이 완료될 때까지 기다린 후 종료 상태를 반환합니다.

위 내용은 C/C의 `system()` 명령에서 stdout을 원활하게 캡처하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.