c语言中freopen函数,fopen和freopen_C中freopen和fopen的区别(用法+详解+区别)
最佳答案
fopen 是操作文件用的,比如創建讀取等,它有兩個參數,第一個是文件名,第二個是操作方式。
第一個參數很好理解,因為是用來操作文件的,自然得告訴它要操作的是什么文件。
第二個參數也不難理解,既然是操作,那如何操作,就由這個參數決定。
常見的操作有讀("r")、寫("w")和在尾部添加("ab")等等。
把參數全部填好后,就要用一個變量來獲取 fopen 調用后的返回值。
那為什么要返回值?比如用 fopen 讀取一個不存在的文件,那么怎么知道有沒有讀取失敗?
所以返回值很有必要,只有看看這個返回值是不是表示讀取失敗就可以了。
freopen 有三個參數,前兩個和它返回值跟fopen是一樣的,就多了一個參數,被重定向的對象。
為了更好的理解什么是重定向,用下面舉的例來說明。
比如,在 main 函數中寫上一句 puts("abc"); ,通常會彈出一個黑框框,并顯示 abc,但在它之前添加一行 freopen ("b.txt", "w", stdout); ,那么再運行,會發現彈出的黑框框里的文字不見了。
再打開當前的目錄會發現,多了一個 b.txt 文件,這個文件里的內容正是原本要在黑框框里顯示的文本。原本用在黑框框的輸出函數也都輸出到了這個文件里來了。
對于這種效果,我們稱之為重定向,這也正是和 fopen 最重要的區別之一,fopen 僅僅用來操作文件,而 freopen 則用其可對目標對象進行重定向的特性來實現某些特殊的需求。
最佳答案由網友????提供
總結
以上是生活随笔為你收集整理的c语言中freopen函数,fopen和freopen_C中freopen和fopen的区别(用法+详解+区别)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 狄斯奎诺算法 c语言,图的邻接表实现迪杰
- 下一篇: 真的有能开光追的手游了游戏开光追是什么意