freopen和ifstream
整個世界也許像一場巨大的連連看游戲
素不相識的兩個人想要取得聯系,不得不跨越各種障礙,消除,連線
也許望向天空可以解決擁塞問題
可不同的人,抬頭擁有的是同一片天嗎?
--序
區分freopen和fopen和ifstream最關鍵的一點,便是fopen是C的標準庫中的函數,而ifstream是C++標準庫中的函數,而freopen可以視為fopen的一個特例。
freopen的作用是重定向輸入輸出流,即stdin/stdout,可以重定向到文件中。
freopen("xxx", "r/w/r+/w+", stdin/stdout);
r代表read,而w代表write,樸素的速記法,代表設定的模式是r/w。
fopen是打開一個文件指針,通過文件指針訪問文件中的元素。
freopen最為方便,因為是重定向,所以可以隨意讀寫任何類型的元素。值得注意的是freopen第一個參數只接受char*類型,不接受string類型,因為是C的原生函數,并不會支持C++新的擴展類型。
ifstream是C++的設計,體現了C++流式讀寫的哲學,然而非常慢。與foepn用法相似,同為打開一個文件指針。
共有三種類型,ifstream,ofstream和fstream。
i代表input。
o代表output。
f代表file。
所以fstream可讀也可寫,需要指定模式。
浙公網安備 33010602011771號