檔案操作
程式執行時的產生的資料都屬於臨時資料,程式一旦執行結束都會被釋放,通過檔案可以將資料持久化,c++中對檔案操作需要包括標頭檔案
檔案型別分為兩種:
1.文字檔案 檔案以文字的ascii碼形式儲存在計算機
2. 二進位制檔案 檔案以文字的二進位制形式儲存在計算機中,使用者一般不能直接讀懂他們
操作檔案的三大類:
. ofstream : 寫檔案
. ifstream : 讀檔案
. fstream : 讀寫檔案
文字檔案
寫檔案
1.包含標頭檔案 #include檔案的開啟方式:2. 建立流物件 ofstream ofs;
3.開啟檔案 ofs.open(「檔案路徑」,「開啟方式」);
4.寫資料 ofs<<「寫資料」;
5.關閉檔案。
解釋ios::in
為讀檔案而開啟檔案
ios::out
為寫檔案而開啟檔案
ios::ate
初始位置:檔案尾
追加的方式寫檔案
ios::trunc
如果檔案純在先刪除,再建立
ios::binary
以二進位制方式開啟
注意: 檔案開啟方式可以配合使用,利用| 操作符
#include
void
test01()
讀檔案
1.包含標頭檔案 #include2. 建立流物件 ifstream ifs;
3.開啟檔案 ofs.open(「檔案路徑」,「開啟方式」); 並判斷是否開啟成功
4.讀資料 四種方式讀取.
5.關閉檔案。 ifs.close();
#include
void
test01()
//讀資料
//第一種:
char buf[
1024]=
;while
(ifs>>buf)
//第二種
char buff[
1024]=
;while
(ifs.
getline
(buf,
1024))
//第三種
string bu;
while
(getline
(ifs,bu)
)//第四種 ,乙個乙個字元讀,不推薦
char c;
while
((c=ifs.
get())
!=eof
)//eof 檔案尾
ifs.
close()
;}
二進位制檔案
以二進位制方式對檔案進行讀寫操作;
開啟方式要指定為ios::binary;
寫檔案
二進位制方式寫檔案要利用流物件呼叫成員函式write;
ostream & write(const char * buffer,int len);
字串指標buffer指向記憶體種的一段儲存空間,len是讀寫的位元組數.
class
person
;void
test()
; ofs.
write((
const
char*)
&p,sizeof
(person));
ofs.
close()
;}
讀檔案
二進位制方式讀檔案主要利用流物件呼叫成員函式read;
函式原型 istream &read(char * buffer,int len);
buffer 指向記憶體種的一段儲存空空間,len是讀寫的位元組數.
#include
class
person
;void
test01()
C 建立 讀以及寫檔案操作
1.建立檔案 根路徑自己決定,如果是乙個專案一定有相關的api獲取該專案所在硬碟的完整物理路徑。建立檔案時一般先會判斷是否存在指定的檔案,沒有則建立,執行以下 後可檢視d盤根路徑。string path d string filename datetime.now.tostring yyyymmdd...
python 檔案操作,讀檔案,寫檔案
讀取檔案的全部內容 def get f none try f open 致橡樹.txt r encoding utf 8 print f.read except filenotfounderror print 無法開啟指定的檔案 except lookuperror print 指定了未知的編碼 e...
檔案快取 寫與讀
1.先判斷是否有sdcard以及許可權environment.getexternalstoragestate equals environment.media mounted 2.得到sdcard路徑 mnt sdcard environment.getexternalstoragedirector...