1. 程式人生 > >標準c c語言 過載printf 輸出到螢幕和檔案

標準c c語言 過載printf 輸出到螢幕和檔案

不想輸出到控制檯,可以採取管道,擷取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);  

}  

int __cdecl myputch(__in int _Ch)  
{  
    if(fout == 0)  
        fout = fopen("log.txt","w");  
    fputc(_Ch, fout);  
    return putchar(_Ch);  
}