E.G。:我想存储system("dir");
答案 0 :(得分:3)
是的,请看一下从CreateProcess中捕获stdout:
请注意,dir
是DOS下的内置命令。所以你必须做类似以下系统命令的事情:
cmd.exe /c dir c:\path\to\directory
而不是仅仅致电dir
。输入cmd /?
以获取有关/c
参数的更多信息。
答案 1 :(得分:2)
您可以使用重定向到文件(系统(“dir>文件”)),读取该文件并删除它,或者像在Unix中那样使用未命名的管道 - 调用CreatePipe()来创建管道并附加它作为PROCESS_INFORMATION结构中的输入/输出流,并将该结构传递给CreateProcess()。
答案 2 :(得分:0)
POSIX有一个popen()函数,我认为Windows有类似的东西叫_popen()。