在通过匿名管道重定向子进程的标准输出后,子进程的标准输出因为被重定向到管道而变为全缓存模式,所以子进程printf的信息父进程无法通过管道读取,因为子进程printf的信息在输出流缓存中而没有输出到管道,直到子进程调用fflush刷新标准输出流,或是子进程退出,子进程printf的信息才会输出到管道。
    这样如果子进程是一个交互式的命令行工具,比如windows自带的ftp.exe,你就无法通过管道实现与其交互,因为子进程即没有调用fflush,也没有退出,父进程无法读到ftp.exe输出的信息。
    请问各位,怎么才能解决这个问题,真正的实现通过程序与命令行工具交互?谢谢。