在Unix中,如果您有一个文件描述符(例如来自套接字,管道或从父进程继承),您可以FILE*在其上打开一个缓冲的I/O 流fdopen(3).
FILE*
fdopen(3)
Windows上是否有等效的HANDLEs?如果你有HANDLE一个从你的父进程继承(从标准输入,标准输出,或标准错误不同),或从一个管道CreatePipe,是有可能得到一个缓冲FILE*从中流?MSDN确实提供了文档_fdopen,但它适用于返回的整数文件描述符_open,而不是通用HANDLE的.
HANDLE
CreatePipe
_fdopen
_open
c winapi stdio
我使用ServiceBase帮助器在C#中编写了一个Windows服务.在执行期间,会调用外部本机DLL上的一些过程.令人讨厌的是,这些程序以不受控制的方式写入stdout和/或stderr,因为没有为此DLL提供任何来源.
ServiceBase
是否可以将这些输出从C#服务重定向到日志文件?
.net c# windows-services stdout stderr
.net ×1
c ×1
c# ×1
stderr ×1
stdio ×1
stdout ×1
winapi ×1
windows-services ×1