不想输出到控制台,可以采取管道,截取stdout重定向到自己创建的管道。
重载printf:
FILE* fout = 0;
int __cdecl myprintf(const char *format, ...) //__cdecl 是关键的返回值类型
{
va_list args;
va_start(args, format);
if(fout == 0)
fout = fopen("log.txt","w");
vfprintf(fout, format, args);
return vprintf(format, args);
{
if(fout == 0)
fout = fopen("log.txt","w");
fputc(_Ch, fout);
return putchar(_Ch);
}
重载printf:
FILE* fout = 0;
int __cdecl myprintf(const char *format, ...) //__cdecl 是关键的返回值类型
{
va_list args;
va_start(args, format);
if(fout == 0)
fout = fopen("log.txt","w");
vfprintf(fout, format, args);
return vprintf(format, args);
}
{
if(fout == 0)
fout = fopen("log.txt","w");
fputc(_Ch, fout);
return putchar(_Ch);
}