轉載:c++文件打開和關閉

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

發佈了4 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章