프로그래밍

 3198, 1/160 회원가입  로그인  
   kindofcrazy
   C 언어 질문 입니다. 고수님들의 조언 부탁 드립니다. 급헙니다.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3256 [복사]


콘솔 프로그램 인데요...

하나의 프로그램에서 다른 프로그램을 system 함수로 실행 시키고...

이 프로그램에 값을 집어 넣는 방법좀 갈켜 주세요.....


A라는 프로그램에서 B라는 프로그램을 system 함수로 실행 시키고..

B에서... scanf로 숫자를 입력 받으려고 대기하고 있을때....A라는 프로그램에서

어떻게 코딩해야 실행되고 있는B에 값이 들어 갈까요 ??


고수님들의 많은 조언 부탁 드립니다.

  Hit : 3350     Date : 2011/12/23 11:26



    
Mephist char cmd[] ="echo \"strtest\" | ./b";
system(cmd);

이런식으로 b의 scanf 에 "strtest" 를 입력되게끔.. 파이프를 이용해서..
system 함수를 호출하는건 어떨런지?
2011/12/23  
kindofcrazy Mephist님 조언 감사 드립니다. 근데..B는 제가 건드릴 수 없는(소스코드 없는, 제가 짠게 아닌)프로그램 이라서... 어떻게든 A에서 건드려야 돼요 ㅠㅠ 2011/12/23  
Mephist 제가 말씀드린게.. A 에서 하는거에요... A 에서.. system 함수의 인자를 echo "blah,blah" | ./b 라고 주는거에요. 2011/12/23  
BrokenPipe 질문이 정확하게 뭔지 몰라서 답변을 안했었는데
굳이 A라는 프로그램을 작성하실 것까진 없구요
그냥 쉘상에서 echo "집어넣을문자열" | ./B
이런식으로 하시면 됩니다.
혹시 scan 함수가 여러번 사용됬을땐
abc\ndef\nghi
이런식으로 집어넣으시면 첫번쨰 scan함수엔 abc 두번째 def 세번째 ghi 식으로 들어갑니다
2011/12/23  
kindofcrazy 도스 프로그램 이거덩요... 그리고.. B 가 실행 된 다음에...문자열 한참 출력을 하고 입력을 받는거기 때문에... echo 써도 안되더라구요.... 그리고 for 문으로 10000번 정도 돌려서 Key 값을 알아 내는 문제기 때문에.... 아무래도 echo 는... 도스에서 echo 되는게 신기 하긴 했는데...ㅎ 여튼 전 포기 했어요.... OTL 그냥 올리디버거로 키값 알아 냈어요.... 후루꾸로... 쩝.... 여튼 답변 해주신 분들 감사 드려요 (__) 2011/12/24