天天看點

c語言 freopen txt_C語言檔案操作函數freopen詳細解析

今天做USACO  用到了檔案的操作。 之前做USACO隻是格式化的些 寫  freopen("xxx.in","r",stdin)  和"freopen("xxx.out","w",stdout)"

百度百科上是這麼介紹的:

函數名: freopen

功 能: 替換一個流,或者說重新配置設定檔案指針,實作重定向。如果stream流已經打開,則先關閉該流。如果該流已經定向,則freopen将會清除該定向。此函數一般用于将一個指定的檔案打開一個預定義的流:标準輸入、标準輸出或者标準出錯。

用 法: FILE *freopen(const char *filename,const char *type,FILE *stream);

頭檔案:stdio.h

例1:

#include

#include

int main()

{

if(freopen("file.txt",stdout)==NULL)

fprintf(stderr,"error\n");

printf("This is in the file\n");      //這句話會在file.txt中顯示。

fclose(stdout);               //使用fclose()函數就可以把緩沖區内最後剩餘的資料輸出到磁盤檔案中,并釋放檔案指針和有關的緩沖區。

return 0;

}

例2:

//首先在同路徑下建立一個in.txt文本文檔寫入若幹數字

#include

#include

int main()

{

freopen("in.txt",stdin);     //從in.txt 中讀入資料

freopen("out.txt",stdout);  // 将最後資料寫入out.txt中

int a,b;

while(scanf("%d%d",&a,&b)!=EOF)     //資料是從in.txt中輸入的

printf("%d\n",a+b);             //寫入out.txt中

fclose(stdin);

fclose(stdout);

return 0;

}

freopen("CON",stdout)  表示在控制台視窗上寫入資料;

例3:

#include

#include

int main()

{

// FILE *stream;

freopen("file1.txt",stdout);

printf("this is in file1.txt");      // 這句話在file1.txt中顯示

freopen("CON",stdout);

printf("And this is in command.\n");    //這句話在控制台上顯示

return 0;

}

例5:  關于fread   可以通過下面的程式,一看就知道什麼意思了

#include

#include

int main()

{

FILE *stream

char s[102400]="";

if((stream=freopen("file.txt",stdin))==null)

exit(-1);

fread(s,1,1024,stdin);    // 讀取file.txt中1到1024位,放入s中 ,我是這麼了解的

printf("%s\n",s);

return 0;

}

總結

如果覺得程式設計之家網站内容還不錯,歡迎将程式設計之家網站推薦給程式員好友。

本圖文内容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。

如您喜歡交流學習經驗,點選連結加入交流1群:1065694478(已滿)交流2群:163560250