一般使用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