目标:使用文件流执行文件。
一般来说,我会这样做:
system(“./executable”);
但是,在我目前的情况下,我不能,我需要做这样的事情:
FILE *stream = fopen(“./executable”);
// way to execute `stream`, not the file itself.
我将如何做到这一点?我正在用手机写这篇文章,所以请原谅错误。
感谢您的帮助。
你要找的是
popen
函数,它运行一个程序并将 stdin 或 stdout 附加到 FILE
指针。
如果你想读取命令的输出:
FILE *p = popen("./executable", "r");
如果你想写入命令的输入:
FILE *p = popen("./executable", "w");