您的位置:首页 > 编程语言 > C语言/C++

java中调用C语言生成的exe文件

2016-12-10 14:50 197 查看
C语言程序实现:

输入两个整数,输出二者之和

# include <stdio.h>

int main()

{

    int a,b,lineNumber=0;

    while(scanf("%d %d",&a,&b)!=EOF){

        printf("Line# %d\t %d +  %d=%d\n",lineNumber,a,b,a+b);

    }

    return 0;

}

java程序:

主进程调用exe文件,新建一个线程向exe文件写入输入数据,然后主进程输出

package bjfu.wzz;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStream;

public class my_javac {

    public static void main(String[] args) {

       try {

        final Process proc=Runtime.getRuntime().exec("D:\\code\\C\\muy_c\\Debug\\myc.exe");

        new Thread() {

            public void run() {

                OutputStream stdin=proc.getOutputStream();

                for(int i=0;;i++) {

                    try {

                        Thread.sleep(1);

                        stdin.write((i + " " + i + "\n").getBytes());

                    } catch (Exception e) {

                        // TODO Auto-generated catch block

                        e.printStackTrace();

                    }

                    }

            }

        }.start();

        BufferedReader stdout = new BufferedReader(new InputStreamReader(proc.getInputStream()));

        for (String line; null != (line = stdout.readLine()); )

            System.out.println(line);

       } catch (Exception e) {

        // TODO Auto-generated catch block

        e.printStackTrace();

    }

       

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: