2014-12-21 4 views
1

외부 프로그램 (prog1.c)을 컴파일하고 실행하는 프로그램을 작성했습니다. 그리고 나는 prog1.c의 출력을 어떻게 든 얻고 싶습니다.
예를 들어, prog1.c가 printf("HELLO");이고 HELLO가 터미널에 인쇄되면이 출력을 내 프로그램이나 파일의 변수로 가져 오십시오.
파이프에 대해 어딘가에있는 것을 보았습니다. 그러나이 명령을 많이 알지 못합니다. 이것이 올바른지 알고 싶지 않습니다.터미널 출력을 코드로 가져 오기

누구나 나를 도울 수 있습니까, 나를 안내하거나 예를 보여줄 수 있습니까?
감사합니다.

+0

검색 ". – timrau

답변

1

freopen을 사용하면 printf 출력을 파일로 리디렉션 할 수 있습니다. 당신이 더 많은 이해하려면

freopen("c:\\output\\output.txt","w",stdout); 
printf("write in file using printf"); //this will be printed to file, not to console 

이 내 video tutorial을 볼 수 있습니다.

이 예제에서는 파이프를 사용하지 않았지만 표준 출력을 콘솔이 아닌 파일로 리디렉션했습니다.

+0

고마워요! 그것은 사용하기 쉽습니다. –

+0

@marcopolo 쓰기 모드에서 파일을 엽니 다. –

+0

@marcopolo freopen reference와 내 비디오 튜토리얼에 대한 링크를 제공했습니다. –

0

당신은 또한 반환 값을 잡기 위해, 다른 음식물에 입력 PROG1에서 을 outpout 리디렉션 waitpid를 확인하기 위해 파이프 (포크)를 사용하여 너무

"파이프", "는 popen"또는 "리디렉션
관련 문제