在Windows CE上是否等同于isatty()
?换句话说,有没有办法在代码中检测是否已重定向stdin / stdout / stderr?
答案 0 :(得分:3)
你可以调用GetStdIoPath(它在coredll.dll中 - 它没有在MSDN中记录,我不确定它是否在任何SDK头文件中,但你总是可以手动将其声明为extern,链接器会找到它。) / p>
这是我的C#版本 - 如果需要,您可以轻松将其移回C:
[DllImport("coredll.dll", SetLastError = true)]
public static extern int GetStdioPath(StdIoStream id, StringBuilder pwszBuf, int lpdwLength);
public enum StdIoStream
{
Input = 0,
Output = 1,
ErrorOutput = 2
}