Для того, чтобы можно было использовать CRT-функции printf, fprintf и т.п. при создании консоли функцией AllocConsole, необходимо переназначить стандартные CRT-дескрипторы (определение функции _open_osfhandle расположена в io.h):
#include <io.h> AllocConsole(); FILE *hf = _fdopen( _open_osfhandle( (long)GetStdHandle(STD_OUTPUT_HANDLE), 2 /*_O_TEXT*/), "w"); *stdout = *stderr = *hf; ... FreeConsole();