重载printf输出到屏幕和文件

如果不想输出到控制台推荐用管道,就是截取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); }  

你可能感兴趣的:(list,File)