一般使用fstream 類中所定義的成員函數 open( )和 close( )。
fstream outfile; 定義一個fstream類的對象
outfile.open("f1.txt", ios::out);
或者 fstream outfile("f1.txt", ios::out);
in 以輸入(讀)方式開啟檔案
out 以輸出(寫)方式開啟檔案
app 以輸出追加方式開啟檔案
ate 檔案開啟時,檔案指標位於檔案尾
trune 如果檔案存在,將其長度截斷為0,並清除原有
內容;如果檔案不存在,則建立新檔案
Binary 以二進位方式開啟檔案,預設時為文本方式
nocreate 開啟一個已有檔案,如該檔案不存在,開啟失敗
noreplace 如果檔案存在,除非設定ios::ate或ios::app,否則打
開操作失敗
ios::in|ios::out 以讀和寫的方式開啟檔案
ios::out|ios::binary 以二進位寫方式開啟檔案
ios::in|ios::binary 以二進位讀方式開啟檔案
未指定binary方式時,檔案都以文本方式開啟,若指定了 binary方式,則檔案以二進位方式開啟.
開啟檔案的另一種方法 利用fstream的專門讀或寫的子類
ofstream outfile("f1.txt", ios::out); 寫
ifstream istrm("f2.txt"); 讀
讀寫完不要忘了關閉檔案
infile.close( );
//
例如:
MFC主要讀寫檔案的類是CFile,而CStdioFile類是派生自CFile類的,主要增加了一個按行的方式讀取/寫入檔案每行字串的功能!別的地方沒咋研究!
//CFile讀取所有檔案到緩衝區:
CFile file;
char buffer[1024];
if(!file.Open("c://aaa.txt",CFile::modeRead))return; //開啟aaa這個檔案,開啟形式為讀取
file.Read(buffer,1024); //將檔案的內容從開始,讀1024到緩衝區(如果想讀取不同地方的資料則需要設定遊標函數Seek,SeekToBegin,SeekToEnd..)
file.Close();
//CFile寫內容到檔案
CFile file;
char buffer[1024] = "在此添加要寫入檔案的字串!";
if(!file.Open("c://aaa.txt",CFile::Create | CFile::Write))return; //開啟aaa這個檔案,開啟形式為(無此檔案則建立)寫入
file.Write(buffer,strlen(buffer));
file.Close();
//CStdioFile類的例子:
CStdioFile file;
CString str; //StdioFile可以直接使用字串類CString的類型
if(!file.Open("c://aaa.txt",CFile::modeRead))return; //開啟aaa這個檔案,開啟形式為讀取
file.ReadString(str); //讀一行內容到str字串,注意此時檔案的遊標將自動化佈建到下一行的開頭位置,所以如果想讀下一行還是用file.ReadString(str);
file.Close();
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/lzhw1985/archive/2008/07/24/2704223.aspx