小编Dan*_*ger的帖子

使用getchar()从C程序获取Java标准输出时遇到问题

我正在尝试从Java调用C程序并捕获标准输出.这是我的代码:

try {
    ProcessBuilder pb = new ProcessBuilder("helloworld.exe");
    pb.redirectErrorStream(true);   // Merge std out and std err into same stream
    program = pb.start();           // Start program

    BufferedReader input = new BufferedReader(new InputStreamReader(program.getInputStream()));

    line = input.readLine();
    while (line != null) {
        System.out.println(line);
        line = input.readLine();
    }   
} catch (IOException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

这是一个示例c程序:

int main(){
    printf("Hello world\n");
}
Run Code Online (Sandbox Code Playgroud)

当我正在执行的程序(在这种情况下为helloworld)中没有一个程序时getchar(),这很好用.但是,如果我getchar()在printf之后添加一个权限,我从来没有从输入流中获得任何东西.有什么想法吗?

谢谢

c java inputstream

5
推荐指数
1
解决办法
853
查看次数

标签 统计

c ×1

inputstream ×1

java ×1