C語言中freopen()函數是用來重新定向的,所謂重新定向是給輸入和輸出的位置重新定向。原本輸入位置是鍵盤緩存區,輸出在螢幕上,用了重新定向後可以将輸入位置改變成一個檔案,而輸出位置也可以輸出到一個檔案中,具體代碼可以這麼寫:
freopen ("text.txt","r",stdin); freopen ("text1.txt","w",stdout);
這裡輸入和輸出便都在檔案中操作了。可是這樣做有一個弊端,就是所有輸入輸出都将在檔案中操作,如何靈活控制呢?這就要用到fopen()函數了,可以自由在檔案輸入輸出中轉換,具體文法是:
FILE *fin,*fout; fin = fopen("text.txt","rb"); fout = fopen("text1.txt","wb"); fscanf (fin,"%d",&x); fprintf (fout,"%d",x); fclose(fin); fclose(fout);
這裡函數稍微複雜了些,不過仔細看看也蠻簡單的,最重要的是多了檔案關閉操作,這樣是為了不持續占用系統資源。在讀取、寫入操作時用“rb”的原因是為了相容Linux系統,隻在windows下運作隻要“r”即可,同樣,scanf和printf函數都要改成fscanf和fprintf,在前面加上你要輸入的檔案和輸出的檔案名,這樣就可以有選擇性的操作檔案了。
(原創)Final部落格(http://www.finalblog.net/archives/257)本文可以任意轉載,但本段内容必須保留,否則将追究其法律責任。