【发布时间】:2013-06-21 22:42:10
【问题描述】:
我有一个 C 可执行文件,我可以从 CYGWIN 运行它。我也想从 JAVA 运行相同的文件。 C 程序通过标准输入和标准输出获得输入和输出。主要是获取字符串,输出字符串。
我想我可以使用流程构建器成功启动程序。但是我无法与 C 程序交互。要启动 .exe,我使用 ProcessBuilder,请参见以下内容。
Process cmd = new ProcessBuilder("path to exe").start();
我的C程序的main方法在这里:
int main(argc, argv)
{
/* set command line or config file parms */
config(argc, argv);
/* read grammar, initialize parser, malloc space, etc */
init_parse(dir, dict_file, grammar_file, frames_file, priority_file);
/* for each utterance */
while( fgets(line, LINE_LEN-1, fp) ) {
/* assign word strings to slots in frames */
parse(line, gram);
/* print parses to buffer */
for(i= 0; i < num_parses; i++ )
print_parse(i, out_ptr, extract, gram);
/* clear parser temps */
reset(num_nets);
}
}
我的目标是发送输入并从 Java 中获取输出。
【问题讨论】: