如何從 Visual C/C + + 程式重新 stdout 導向至檔案

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:58667
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
結論
本文將告訴您如何從 C 程式重新 stdout 導向至檔案,然後還原原始 stdout 在同一個程式的更新版本點。C 函式通常用來重新導向 stdout 或 stdin 是 freopen()。若要將 stdout 重新導向至一個稱為 FILE.TXT 檔案,使用下列呼叫:
   freopen( "file.txt", "w", stdout );
這個陳述式會使所有的後續輸出,通常導向邁向 stdout,移至檔案 FILE.TXT。

若要返回顯示 (預設 stdout) stdout,使用下列呼叫:
   freopen( "CON", "w", stdout );
在這兩種情況下檢查傳回值的 freopen() 請確定重新導向實際上所花費的地方。

以下是簡短的程式,以示範 stdout 重新導向:

範例程式碼

// 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");}
此程式會假設該 stdout 是朝程式結尾處主控台重新導向。

警告:本文為自動翻譯

內容

文章識別碼:58667 - 最後檢閱時間:04/28/2005 20:23:04 - 修訂: 4.0

The C Run-Time (CRT)

  • kbmt kbhowto KB58667 KbMtzh
意見反應