The reason some of those functions work with numbers and some with names is because stdout, stdin, and stderr are macros for the FILE* type that printf() and friends ...