如果不想输出到控制台推荐用管道,就是截取stdout重定向到自己创建的管道。 下面是重载printf的代码: FILE* fout = 0; int __cdecl myprintf(const char *format, ...) { va_list args; va_start(args, format); if(fout == 0) fout = fopen("log.txt","w"); vfprintf(fout, format, args); return vprintf(format, args); } int __cdecl myputch(__in int _Ch) { if(fout == 0) fout = fopen("log.txt","w"); fputc(_Ch, fout); return putchar(_Ch); }