假设我有一个简单的C++程序,它接受输入并输出一些字符串。像这样(实际的程序要复杂得多,但仍然是基于文本的):
$ ./game
$ what kind of game? type r for regular, s for special.
$ r
$ choose a number from 1 - 10
$ 1
$ no try again
$ 2
$ no try again
$ 5
$ yes you WIN!
我以前没有使用过Python,但是是否可以编写一个python脚本来运行这个程序,为它提供输入,并将结果输出到标准输出?我问过关于使用C++运行它的问题,但它似乎太复杂了。如果
我刚刚开始使用python,我开发了一个简单的程序来派生父进程。这是我到目前为止写的代码。
#!/usr/bin/env python
import os
def child():
print "We are in the child process with PID= %d"%os.getpid()
def parent():
print "We are in the parent process with PID= %d"%os.getpid()
newRef=os.fork()
if newRef==0:
今天,我用C++编写了这样一个小程序:
pid_t pChild=0;
printf("Main process ID:%d\n",getpid());
pChild= fork();
printf("%d\n",pChild);
if (pChild!=0){
printf("Parent process ID:%d\n",getpid());
printf("Child process ID:%d\n",pChild);
}
else printf("Sorry! The child can not be c
Java代码:
public class Test {
public static void main ( String[] args ) {
System.exit ( 4 );
}
}
C++代码:
#include <stdio.h>
#include <cstdlib>
int main() {
int result = system ( "java Test" );
printf ( "Result: %d", result );
}
运行此C++程序输出
"R
在我的C++程序中,我需要执行bash脚本。然后,我需要返回在我的c++程序中运行脚本所获得的结果。我有两种可能性:
1. use system(script.sh). In script.sh I redirect the output in a file which is processd after I return to the c++ program.
2. use popen
考虑到script.sh返回的输出可能很大(100 M),我感兴趣的是这些方法中的哪一种。谢谢。
我有一个相对简单的问题,我似乎做不到。我需要做的是在C++程序中使用system函数从bash脚本中检索整数。我的理解是system默认情况下返回一个整数,所以我应该可以做一些类似这样的事情
int returnedVal = system ("myscript");
然而,主要的问题是bash脚本没有返回值,只有一个介于0和255之间的标志来表示它们是否成功。我尝试过这样做,比如在脚本中写入文本文件,然后读取文件,但是这会导致一些问题,如果可能的话,我想避免这种情况。有谁知道最简单的方法吗?非常提前谢谢你。
我正在运行一个运行C++脚本的python二进制文件。我用下面的方法做这件事
stream = popen(cmd.c_str(), "r");
if (stream) {
while (!feof(stream))
if (fgets(buffer, max_buffer, stream) != NULL) data.append(buffer);
status = pclose(stream);
}
此python脚本还使用子进程运行一些shell命令
subprocess.check_call(arg_list)
突然,我开始收到类似"Vim: W