2017-12-04 3 views
0

두 개의 파일, 두 개의 인수, 정수 및 시드가있는 임의의 정수를 생성하는 파일이 있습니다. 다른 파일은 배열의 값을 검색합니다.c w/h 터미널 명령의 파이프 : ./process arg | ./process arg

첫 번째 파일에 임의로 생성 된 숫자를 두 번째 파일의 배열 입력으로 제공하고 싶습니다.

이렇게 말단에 있습니다.

. /random_no 100 50 | ./find 42 -

나는 이것이 random_no의 입력을 find로 파이프한다는 것을 알고있다.

문제는 find 파일에서 해당 입력을 수신하거나 조작하는 방법을 모르겠다는 것입니다.

만약 이해가되지 않거나 예제로 코드를보고 싶다면 알려주세요. 감사합니다 :)

+3

첫 번째 프로그램은 stdout에 쓸 필요가 있습니다. 두 번째 프로그램은 stdin에서 읽어야합니다. –

+4

프로그램 이름을 '찾기'로 지정하지 마십시오. 이 이름으로 잘 알려진 유틸리티가 있습니다. 즉, 숫자를 읽는 프로그램에서 예상대로 * 숫자를 읽습니다. 'scanf()'사용하기. – AlexP

답변

1

당신이 질문을 명확히해야한다. 어떤 운영 체제를 다루고 있습니까? AIX, Linux? 당신이하려고하는 것보다 더 좋은 방법이있을 수 있기 때문에 달성하고자하는 것이 무엇인지 명확히한다면 도움이됩니다.

파이프는 stdout과 stdin을 통해 일반 텍스트를 사용합니다 ... 배열과 같은 객체로 작업하지 않습니다.

random_no는 stdout에 쓰고 stdin에서 읽을 필요가 있습니다.

하지만 실제로 많은 표준 명령 줄 유틸리티를 사용하여 다른 작업을 수행 할 수 있으며 C 응용 프로그램을 작성할 필요가 없습니다. 예

100 50 ./random_no random_no

의 출력으로부터 42 "찾기"를 | grep 42

하지만 정확히 달성 할 수있는 것은 무엇입니까?