本文介紹了如何將標(biāo)準(zhǔn)輸出重定向到文件,從某個 C 程序,,然后還原原始標(biāo)準(zhǔn)輸出中,稍后在同一個程序中,。C 函數(shù)通常用于重定向標(biāo)準(zhǔn)輸出或 stdin 是 freopen(),。若要重標(biāo)準(zhǔn)輸出定向到文件稱為 FILE.TXT,使用下面的調(diào)用:
freopen( "file.txt", "w", stdout );
此語句將導(dǎo)致所有后續(xù)的輸出,,通常定向到轉(zhuǎn)到該文件 FILE.TXT 向標(biāo)準(zhǔn)輸出,。 若要返回到顯示 (默認(rèn) stdout) 的 stdout,使用下面的調(diào)用:
freopen( "CON", "w", stdout );
在兩種情況下檢查以確定的重定向?qū)嶋H發(fā)生的 freopen() 的返回值,。 下面是簡短說明的標(biāo)準(zhǔn)輸出重定向的程序:
示例代碼
// Compile options needed: none
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
FILE *stream ;
if((stream = freopen("file.txt", "w", stdout)) == NULL)
exit(-1);
printf("this is stdout output\n");
stream = freopen("CON", "w", stdout);
printf("And now back to the console once again\n");
}
該程序假定要向該程序的結(jié)尾控制臺重定向該標(biāo)準(zhǔn)輸出,。
|