제목이 길게 안되서 질문을 자세히 쓰자면 <div><br></div> <div><div>#include<stdio.h></div> <div><br></div> <div>int main() {</div> <div><br></div> <div> int a, b;</div> <div><br></div> <div> printf("input a : ");</div> <div> scanf("%d", &a);</div> <div> printf("input b : ");</div> <div> scanf("%d", &b);</div> <div><br></div> <div> printf("%d + %d = %d\n", a, b, a+b);</div> <div><br></div> <div> return 0;</div> <div>}</div></div> <div><br></div> <div><br></div> <div>이렇게 간단히 a와 b를 입력 받아 덧셈을 하는 c 프로그램이 있습니다.</div> <div><br></div> <div>이때 자바에서 이 프로그램을 Runtime.getRuntime().exec(); 를 이용해 실행을 시키려 하는데요.</div> <div><br></div> <div>이를 위해 아래와 같은 자바 프로그램을 만들었습니다.</div> <div><br></div> <div><div> Process cmd = Runtime.getRuntime().exec("c프로그램이름");</div> <div> </div> <div> OutputStream stdin = cmd.getOutputStream();</div> <div> InputStream stdout = cmd.getInputStream();</div> <div> </div> <div> BufferedReader reader = new BufferedReader(new InputStreamReader(stdout));</div> <div> BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(stdin));</div> <div> </div> <div> writer.write("4\n");</div> <div> writer.flush();</div> <div> </div> <div> writer.write("3\n");</div> <div> writer.flush();</div> <div> </div> <div> writer.close();</div> <div> </div> <div> <div> String line;</div> <div> while((line = reader.readLine()) != null) {</div> <div> System.out.println(line);</div> <div> }</div></div></div> <div><br></div> <div>여기서 제가 reader를 통한 출력 결과는 아래와 같이 나오길 바라고 있습니다.</div> <div><div>input a : 3</div> <div>input b : 4</div> <div>3 + 4 = 7</div></div> <div><br></div> <div><br></div> <div><div>하지만 실제 출력은 아래와 같은 방식으로 나오죠.</div> <div>input a : input b : 4 + 3 = 7</div> <div><br></div> <div>즉, writer에 넣어준 "4\n"와 "3\n"의 내용은 reader를 통해 나오지 않는 것 입니다.</div> <div><br></div> <div><br></div></div> <div>이것이 해결 가능한 걸까요? 아니면 애당초 불가능한 것 일까요?</div> <div><br></div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.