c++檔案開啟和關閉

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.