#include #include #define WIN32_LEAN_AND_MEAN 1 #include #define IsConsoleHandle(h) (((long) (h) & 3) == 3) BOOL IsConsoleHandle2 (HANDLE h) { DWORD mode; return GetConsoleMode (h, &mode) != 0; } #define ISATTY(fd) (isatty(fd) && lseek(fd,SEEK_CUR,0) == -1) int main (int argc, char **argv) { printf ("isatty (stdin): %d\n", isatty (fileno (stdin))); printf ("IsConsoleHandle (stdin): %d\n", IsConsoleHandle ((HANDLE) _get_osfhandle (fileno (stdin)))); printf ("IsConsoleHandle2 (stdin): %d\n", IsConsoleHandle2 ((HANDLE) _get_osfhandle (fileno (stdin)))); printf ("ISATTY (stdin): %d\n", ISATTY (fileno (stdin))); printf ("isatty (stdout): %d\n", isatty (fileno (stdout))); printf ("IsConsoleHandle (stdout): %d\n", IsConsoleHandle ((HANDLE) _get_osfhandle (fileno (stdout)))); printf ("IsConsoleHandle2 (stdout): %d\n", IsConsoleHandle2 ((HANDLE) _get_osfhandle (fileno (stdout)))); printf ("ISATTY (stdout): %d\n", ISATTY (fileno (stdout))); return 0; }