首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C-设置'popen‘子进程的stdin -跨平台

C-设置'popen‘子进程的stdin -跨平台
EN

Stack Overflow用户
提问于 2018-06-25 00:22:44
回答 1查看 90关注 0票数 0

我想通过popen启动子进程。我在传输数据到它的stdin时遇到了麻烦。

下面是Golang代码,它可以帮助您理解我试图用C语言实现的功能。

代码语言:javascript
复制
subProcess := exec.Command("./command")
subProcess.Stdin = bytes.NewReader([]byte{1, 2, 3}) // create stream from bytes
subProcess.Run()

摘自here

我正在寻找一个跨平台的解决方案。在Windows上可以使用_popen,但我不能使用forkclone。因此,我不知道如何设置子流程的stdin

我的问题是,在没有fork的情况下,我无法找到这样做的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-25 00:49:52

_popenpopen还好吗?

代码语言:javascript
复制
#ifdef __WIN32__
#define popen  _popen
#endif
FILE *subprocess_stdin = popen("./command", "w");
fwrite(((char[]){1,2,3}), 1, 3, subprocess_stdin);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51011783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档