C C 中的freopen 函式使用詳解

2021-09-19 17:11:12 字數 1320 閱讀 3067

c/c++重定向 標準輸入輸出 的庫函式。

所謂重定向輸出,就是可以把原本只是輸出在控制台的字元,輸出到你指定的路徑檔案中。(輸入類似,就是從指定的檔案中讀取,而不是讀取在控制台中的輸入。)重定向函式可以在任何時候開啟、關閉。

函式名:freopen

標準宣告:file *freopen( const char *path, const char *mode, file *stream );

所在檔案:

引數說明:

path: 檔名,用於儲存輸入輸出的自定義檔名。

mode: 檔案開啟的模式。和fopen中的模式(如r-唯讀, w-寫)相同。

stream: 乙個檔案,通常使用標準流檔案。

返回值:成功,則返回乙個path所指定檔案的指標;失敗,返回null。

功能:實現重定向,把預定義的標準流檔案定向到由path指定的檔案中。標準流檔案具體是指stdin、stdout和stderr。其中stdin是標準輸入流,預設為鍵盤;stdout是標準輸出流,預設為螢幕;stderr是標準錯誤流,一般把螢幕設為預設。

#include#includeusing namespace std;

//0x3f3f3f3f為無窮大常量(乙個10^9數量級的數)

#define inf 0x3f3f3f3f

void swap(int &x,int &y)

int main()

{ //注意freopen()的位址格式!必須是雙斜槓\\ !!!!

freopen("d:\\czhsoftware\\c語言\\dev程式設計h\\freopen\\freopentest.txt","w",stdout);

freopen("d:\\czhsoftware\\c語言\\dev程式設計h\\freopen\\freopentest1.txt","r",stdin);

int a=0,b=0;

cout<<"hello world"<>a>>b;

swap(a,b);

cout<<"a="類似的,freopen("d:\\czhsoftware\\c語言\\dev程式設計h\\freopen\\freopentest.txt","w",stdout)的作用就是把stdout重定向到d:\\czhsoftware\\c語言\\dev程式設計h\\freopen\\freopentest.txt檔案中,這樣輸出結果就可以通過開啟freopentest.txt檔案檢視。

上面程式執行意思:

比如freopentest1.txt中資料是2 3,

則freopentest.txt中寫入了

hello world

a=3,b=2

a+b=5

C C 中的freopen 函式使用詳解

剛剛看到了乙個比較有意思的c c 重定向 標準輸入輸出 的庫函式。在此總結。所謂重定向輸出,就是可以把原本只是輸出在控制台的字元,輸出到你指定的路徑檔案中。輸入類似,就是從指定的檔案中讀取,而不是讀取在控制台中的輸入。重定向函式可以在任何時候開啟 關閉。函式名 freopen 標準宣告 file f...

freopen 函式的使用

當我們求解acm題目時,通常在設計好演算法和程式後,要在除錯環境 例如vc等 中執行程式,輸入測試資料,當能得到正確執行結果後,才將程式提交到oj中。但由於除錯往往不能一次成功,每次執行時,都要重新輸入一遍測試資料,對於有大量輸入資料的題目,輸入資料需要花費大量時間。使用freopen函式可以解決測...

C C 中的qsort函式使用

最近遇到了qsort函式,用於排序的 下面直接給乙個例子說明 如下 qsort.cpp 定義控制台應用程式的入口點。include stdafx.h qsort example include printf include qsort int values int compare const voi...