【发布时间】:2011-03-26 15:01:02
【问题描述】:
我在 Windows XP 上的 C 程序中使用的封闭源代码库中的密码提示函数将提示写入 stdout(句柄 1)并将任何错误消息写入 stderr(句柄 2)。
现在,我希望能够使用正常的重定向运算符重定向 我的函数 产生的输出。
根据this,句柄 3-9“由应用程序单独定义”。在我看来,我可以在我的程序中使用其中之一,然后使用正常的重定向运算符(例如 myprogram.exe 3| otherprogram.exe 之类的东西)。
如何在我的 C 代码中做到这一点?
【问题讨论】:
-
不清楚你想要实现什么。你能详细说明一下吗?
-
我想将我的函数的一些输出通过管道传输到另一个程序。由于这个我无法控制的密码提示功能可以同时写入标准输出和标准错误,我想我可以使用其他句柄之一。但是我该如何使用它们呢? stdout 和 stderr 是预定义的,可以很容易地与
fprintf一起使用。其他人不能:像fprintf(3, ...这样的代码会使我的程序崩溃。