共用方式為


basic_filebuf::close

會關閉檔案。

basic_filebuf<Elem, Tr> *close( );

傳回值

如果檔案指標設定為 null 指標,成員函式來傳回 null 指標。

備註

close 呼叫 fclose(fp)。 如果該函式傳回非零的值,則函式會傳回 null 指標。 否則,會傳回 this 表示檔案已成功關閉。

對於一條寬度資料流,則為,如果任何插入發生變更時,就會開啟資料流,或從 [ streampos上次呼叫時,函式會呼叫 溢位。 它可以插入所有序列需要還原初始的轉換狀態,您可以使用文件轉換為 fac 呼叫 fac.unshift (如果需要的話)。 型別 char 的每個項目 byte 剛才產生將檔案指標指定的這個關聯的資料流 fp ,就好像是由表單 fputc(bytefp) 的後續呼叫。 如果對 fac.unshift 呼叫或任何一個寫入失敗,函式失敗。

範例

下列範例假設在目前目錄中的兩個檔案:basic_filebuf_close.txt (內容「test」) 和 iotest.txt (內容為「ssss」)。

// basic_filebuf_close.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>

int main() {
   using namespace std;
   ifstream file;
   basic_ifstream <wchar_t> wfile;
   char c;
   // Open and close with a basic_filebuf
   file.rdbuf()->open( "basic_filebuf_close.txt", ios::in );
   file >> c;
   cout << c << endl;
   file.rdbuf( )->close( );

   // Open/close directly
   file.open( "iotest.txt" );
   file >> c;
   cout << c << endl;
   file.close( );

   // open a file with a wide character name
   wfile.open( L"iotest.txt" );

   // Open and close a nonexistent with a basic_filebuf
   file.rdbuf()->open( "ziotest.txt", ios::in );
   cout << file.fail() << endl;
   file.rdbuf( )->close( );

   // Open/close directly
   file.open( "ziotest.txt" );
   cout << file.fail() << endl;
   file.close( );
}
  

需求

標題: <fstream>

命名空間: std

請參閱

參考

basic_filebuf Class

iostream 程式設計

iostreams 慣例