[질문]실행중인 프로그램에 입력을 넣을방법
글쓴이: Fe.head / 작성시간: 토, 2003/04/05 - 8:41오후
test 이라는 프로그램이 아래와 같은 소스를 가지고 있다고 하고
/* a.out */ #include <stdio.h> int main() { char str[100]; scanf( "%s", str ); puts( str ); return 0; }
이 프로그램을 실행 하고 나서 입력을 다른 프로그램상에서 해주어야 할경우
어떻게 해야 돼나요..
저는 아래 코드로 해봤는데.. 안돼더군요.
#include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { system( "./test &" ); write( 1, "abc\n", 4 ); /* 0인지 1인지 몰라 둘다 해봤음 */ return 0; }
Forums:
실행할 때 " test | a.out" 이런식으로 하시든지...
실행할 때 " test | a.out" 이런식으로 하시든지...
코드 상에서 해결하고 싶다면 fork시킨 뒤 exec랑 pipe를 써서 하셔얄 듯...;;
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
[re]
pipe 를 쓰시면 될것같네요.
man popen
[감사] 답변을 해 주셔서 감사합니다.
아.. 파이프를 써서 대략 구현 했습니다.
정말 감사합니다. 꾸벅 (-_-) (_ _) (-_-)
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
댓글 달기