




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第8章輸入/輸出流8.1輸入/輸出流概述8.2插入運算符及提取運算符8.3格式化輸入輸出8.4文件的輸入輸出8.5輸入輸出文件流fstream8.1輸入/輸出流概述8.1.1流的概念“流”是一種抽象的形態(tài),指的是計算機里的數(shù)據(jù)從一個對象流向另一個對象。這里數(shù)據(jù)流入和流出的對象通常是指計算機中的屏幕、內(nèi)存、文件等一些輸入輸出設(shè)備。數(shù)據(jù)的流動就是由I/O流類來實現(xiàn)的。如預(yù)定義流對象cin和cout實現(xiàn)的數(shù)據(jù)流動過程:C++中的I/O流負責(zé)建立程序與設(shè)備對象之間的連接,它像一個橋梁,溝通了數(shù)據(jù)的產(chǎn)生者和消費者,使他們之間產(chǎn)生數(shù)據(jù)的流動。第8章輸入/輸出流內(nèi)存數(shù)據(jù)流顯示器流對象cout鍵盤數(shù)據(jù)流內(nèi)存流對象cin8.1輸入/輸出流概述8.1.2流類庫的結(jié)構(gòu)
第8章輸入/輸出流ostreamiosistreamiftreamistrstreamistringstreamoftreamostrstreamostringstream
iostreamfstreamstrstreamstingstream第8章輸入/輸出流類
名說
明包含頭文件抽象流基類ios所有輸入輸出流類的基類ios輸入流類istream通用輸入流類和其他輸入流的基類iostreamifstream輸入文件流類fstream輸出流類ostream通用輸出流類和其他輸出流的基類iostreamofstream輸出文件流類fstream輸入輸出流類ostream通用輸入/輸出流類和其他輸入/輸出流類的基類iostreamfstream輸入/輸出文件流類fstreamI/O流類說明表8.1輸入/輸出流概述8.1.2流類庫的結(jié)構(gòu)(續(xù))
流類庫中與文件輸入輸出相關(guān)的文件流類結(jié)構(gòu):第8章輸入/輸出流iosistreamostreamifstreamofstreamiostreamfstream
返回8.2插入運算符與提取運算符1.插入運算符插入運算符“<<”:通常用于插入數(shù)據(jù)到一個輸出流對象中,流對象再進一步將數(shù)據(jù)輸出到它所關(guān)聯(lián)的設(shè)備中。
如:cout<<“HelloWorld!”插入運算符“<<”適用于任何輸出流對象,如輸出文件流ofstream的對象等。“<<”右側(cè)可以是任何標準數(shù)據(jù)類型的變量及常量,也可以是字符串變量及常量。如:cout<<i<<‘s’<<3.14<<‘’<<f;
第8章輸入/輸出流8.2插入運算符與提取運算符2.提取運算符
提取運算符“>>”:通常用于從輸入流對象中提取數(shù)據(jù)。
如:inti;charbuf[100];cin>>i;cin>>buf;提取運算符“>>”適用于任何輸入流對象,如輸入文件流ifstream的對象等?!?gt;>”右側(cè)可以是任意標準數(shù)據(jù)類型的變量,也可以是字符串變量。
注意:使用提取運算符“>>”提取數(shù)據(jù)時,以空白符(如空格、回車、tab)作為數(shù)據(jù)的分割符,因此提取字符串數(shù)據(jù)時,不能提取空白字符。第8章輸入/輸出流
返回8.3格式化輸入輸出C++中的I/O流可以完成輸出/輸入的格式化操作,如設(shè)置域?qū)?、設(shè)置精度及整數(shù)進制等。設(shè)置輸入輸出格式的方法:使用流操縱元,只需把流操縱元插入(提取)到輸出流(輸入流)中即可對輸出流(輸入流)進行格式化,如setiosflags、setw、setfill、setprecision、hex、oct等,使用流操縱元時需在程序中包含頭文件iomanip通過流的成員函數(shù),即由流對象直接調(diào)用完成格式化,如setf、unsetf、width、fill、precision等。使用流成員函數(shù)的優(yōu)點是在設(shè)置格式同時,可以返回以前的設(shè)置,便于恢復(fù)原來的設(shè)置。第8章輸入/輸出流8.3格式化輸入輸出8.3.1輸出寬度控制:setw和width使用流操縱元setw和成員函數(shù)width可以控制當前域?qū)挘摧斎?輸出的字符數(shù))。注意:
(1)寬度的設(shè)置僅適用于下一個插入或讀取的數(shù)據(jù)。
(2)在輸出流中控制域?qū)挘绻敵鰯?shù)據(jù)的寬度比設(shè)置的域?qū)捫?,將以默認右對齊方式輸出數(shù)據(jù),左邊空位會用填充字符來填充(填充字符默認是空格)。
(3)如果輸出數(shù)據(jù)的寬度比設(shè)置的寬度大,數(shù)據(jù)不會被截斷,將輸出所有位數(shù)。第8章輸入/輸出流例8.1使用setw操縱元控制域?qū)?include<iostream>#include<iomanip>usingnamespacestd;voidmain(){ cout<<123<<endl; cout<<setw(5)<<4.5<<6.7<<endl;}
程序運行結(jié)果為:1234.56.7第8章輸入/輸出流域?qū)拑H適用于下一個數(shù)據(jù);實際數(shù)據(jù)比設(shè)置的域?qū)捫?,將右對齊,左補空格例8.2使用width成員函數(shù)控制域?qū)?include<iostream>usingnamespacestd;voidmain(){ char*str[3]={“abc”,“abcde”,“abcdef”}; for(inti=0;i<3;i++) {
cout.width(5);cout<<str[i]<<endl; }}
程序運行結(jié)果為:abcabcdeabcdef第8章輸入/輸出流8.3格式化輸入輸出8.3.2填充字符控制:setfill和fill
在缺省情況下,如果域?qū)挻笥跀?shù)據(jù)寬度時,填充多余空間的字符是空格。如果要改變填充字符,可以使用流操縱元setfill和成員函數(shù)fill。
注意:設(shè)置了填充字符后,將對程序后面的輸出代碼產(chǎn)生永久影響,直到下一次再改變填充字符為止。第8章輸入/輸出流例8.3使用setfill控制填充字符#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){ doublevalues[]={1.23,15.16,653.7,4358.24}; cout<<setfill(‘*’); for(inti=0;i<4;i++) cout<<setw(10)<<values[i]<<endl;}
程序運行結(jié)果為:1234.56.7第8章輸入/輸出流此語句也可以改為:
cout.fill(‘*’);fill()成員函數(shù)將返回設(shè)置前的填充字符8.3格式化輸入輸出8.3.3輸出精度控制:setprecision和precision
使用流操縱元setprecision以及成員函數(shù)precision可以控制浮點數(shù)輸出的精度。
注意:精度一旦設(shè)置,就可以用于以后所有輸出的數(shù)據(jù),直到下次精度發(fā)生改變。使用成員函數(shù)precision可以返回設(shè)置前的精度。第8章輸入/輸出流例8.4控制浮點數(shù)精度#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){ doublevalue=31.4142743; intPreprecision=cout.precision(4); cout<<value<<endl; cout<<setprecision(Preprecision)<<value<<endl;}
程序運行結(jié)果為:31.4131.4143第8章輸入/輸出流通過precision成員函數(shù)設(shè)置精度后,將以前精度值返回并保存在變量Preprecision中。注意:系統(tǒng)默認精度為6,恢復(fù)原來的精度設(shè)置8.3格式化輸入輸出8.3.3輸出精度控制(續(xù))所設(shè)置的精度值,在程序沒有設(shè)置計數(shù)法情況下,表示浮點數(shù)的有效數(shù)字的個數(shù)。若程序設(shè)置了計數(shù)法(ios::fixed或ios::scientific),則表示小數(shù)點后數(shù)字的個數(shù)。
ios::fixed
表示以定點法輸出浮點數(shù)(不帶指數(shù))。
ios::scientific表示以科學(xué)計數(shù)法輸出浮點數(shù)。第8章輸入/輸出流例8.4(續(xù)一)#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){ doublevalue=31.4142743;cout<<setiosflags(ios::fixed); intPreprecision=cout.precision(4); cout<<value<<endl; cout<<setprecision(Preprecision)<<value<<endl;}
程序運行結(jié)果為:31.414331.414274第8章輸入/輸出流設(shè)置計數(shù)法:以定點法輸出浮點數(shù)例8.4(續(xù)二)#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){ doublevalue=31.4142743;cout<<setiosflags(ios::scientific); intPreprecision=cout.precision(4); cout<<value<<endl; cout<<setprecision(Preprecision)<<value<<endl;}
程序運行結(jié)果為:3.1414e+0013.141427e+001第8章輸入/輸出流設(shè)置計數(shù)法:以科學(xué)計數(shù)法輸出浮點數(shù)8.3格式化輸入輸出8.3.4其他格式狀態(tài)
上例中的setiosflags也是一個流操縱元,定義在頭文件<iomanip>中。通過將setiosflags的參數(shù)設(shè)置為各種不同流格式狀態(tài)標志值,可以對相應(yīng)的輸入輸出格式進行控制。若需要同時設(shè)置多個標志位時,可以使用按位或運算符(|)將不同的標志項結(jié)合。第8章輸入/輸出流第8章輸入/輸出流流格式狀態(tài)標志說
明ios::skipwsios::leftios::rightios::internalios::decios::octios::hexios::showbaseios::showpointios::uppercaseios::showposios::scientificios::fixed跳過輸入流的空白字符在輸出域中左對齊輸出,必要時,在右邊填充字符在輸出域中右對齊輸出,必要時,在左邊填充字符(默認)在輸出域中左對齊數(shù)值的符號及進制符號,右對齊數(shù)字值以十進制形式格式化指定整數(shù)(默認)以八進制形式格式化指定整數(shù)以十六進制形式格式化指定整數(shù)在數(shù)值前輸出進制(0表示八進制,0x或0X表示十六進制)輸出浮點數(shù)時顯示小數(shù)點和尾部的0輸出十六進制數(shù)時顯示大寫字母A~F,科學(xué)計數(shù)法顯示大寫E輸出正數(shù)時前面加正號(+)以科學(xué)計數(shù)法顯示浮點數(shù)以定點表示法顯示浮點數(shù)I/O流格式狀態(tài)標志例8.5使用setiosflags控制流格式#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){ intx=200; cout<<setiosflags(ios::internal|ios::showpos); cout<<setw(10)<<x<<endl; cout<<setiosflags(ios::hex|ios::uppercase|ios::showbase);cout<<setw(10)<<x<<endl; cout<<oct<<setw(10)<<x<<endl;}
第8章輸入/輸出流將oct直接插入流中,也可使用:setiosflags(ios::oct)程序運行結(jié)果為:+2000XC80310
8.3格式化輸入輸出8.3.4其他格式狀態(tài)(續(xù))使用流操縱元setiosflags設(shè)置相應(yīng)的標志位后,對流對象產(chǎn)生的影響是持久的,若想恢復(fù)以前的默認設(shè)置,可以通過resetiosflags流操縱元關(guān)閉相應(yīng)的標志位。如:cout<<resetiosflags(ios::internal|ios::showbase);可以取消對域中對齊格式的設(shè)置,同時取消顯示數(shù)制標志,恢復(fù)系統(tǒng)默認格式。第8章輸入/輸出流
返回8.4文件的輸入輸出處理文件輸入輸出的流類主要有ofstream、ifstream和fstream三個類。均定義在fstream中。向文件輸出數(shù)據(jù)即將數(shù)據(jù)保存到文件中時,要使用ofstream類;從文件中讀取數(shù)據(jù)即從文件中輸入數(shù)據(jù)時,要使用ifstream類。而使用fstream類可以同時進行輸入及輸出操作。
文件輸入輸出的一般步驟為:
創(chuàng)建流對象并打開文件→讀寫文件→關(guān)閉文件第8章輸入/輸出流8.4文件的輸入輸出8.4.1打開文件1.
使用默認構(gòu)造函數(shù),然后調(diào)用open函數(shù)用法如下:文件I/O流類名流對象名;//聲明一個流對象流對象名.open(文件名,打開方式);//調(diào)用open函數(shù)打開文件如:ofstreammy_file; my_file.open(“boot.ini”,ios::out);參數(shù)“文件名”:用于指定要打開文件的文件名
若為不帶路徑的文件名表示與當前應(yīng)用程序在同一文件夾若帶路徑的文件名,注意‘\’應(yīng)用‘\\’表示第8章輸入/輸出流8.4文件的輸入輸出8.4.1打開文件(續(xù)一)參數(shù)“打開方式”:用于指定文件的打開方式第8章輸入/輸出流打開方式說
明ios::inios::outios::appios::ateios::nocreateios::noreplaceios::truncios::binary打開一個輸入文件,是ifstream對象的默認方式打開一個輸出文件,是ofstream對象的默認方式。若打開一個已有文件,則刪除原有內(nèi)容,若打開的文件不存在,則將創(chuàng)建該文件。打開一個輸出文件,用于在文件末尾添加數(shù)據(jù),不刪除文件原有內(nèi)容打開一個現(xiàn)有文件(用于輸入或輸出),并定位到文件結(jié)尾僅打開一個存在的文件(不存在則失敗)僅打開一個不存在的文件(存在則失?。┐蜷_一個輸出文件,如果它存在則刪除文件原有內(nèi)容以二進制模式打開一個文件(默認是文本模式)8.4文件的輸入輸出8.4.1打開文件(續(xù)二)2.
在構(gòu)造函數(shù)中直接指定文件名及打開方式用法如下:文件I/O流類名流對象名(文件名,打開方式);如:ifstreaminfile(“D:\\hello.dat”,ios::binary
);第8章輸入/輸出流如果使用以上兩種方法打開文件不成功(如文件路徑不正確),文件流對象將為0,因此習(xí)慣上可用如下方式判斷打開操作是否失?。篿f(!my_file){……}//如果打開文件的操作不成功8.4文件的輸入輸出8.4.2寫入文件如果寫入的是標準數(shù)據(jù)類型的數(shù)據(jù)或字符串,可以直接通過插入運算符(<<),將數(shù)據(jù)插入到輸出文件流對象中。如:ofstream
my_file(“D:\\data.txt”,ios::out);
my_file
<<“Hello!”<<‘’<<234<<endl;
使用插入運算符在寫入數(shù)據(jù)時僅局限于標準數(shù)據(jù)類型及字符串,對于自定義類型的數(shù)據(jù)并不能直接插入。第8章輸入/輸出流空格,是為了在文件中將數(shù)據(jù)分隔開,以便在讀出時能正確區(qū)分數(shù)據(jù)。8.4文件的輸入輸出8.4.2寫入文件(續(xù)一)1.
put函數(shù):使用put函數(shù)可以將一個單個字符寫入流對象,進而寫入流對象所關(guān)聯(lián)的文件中。put函數(shù)每次只能寫一個字符。用法如下:
my_file.put(‘A’);
char
ch=‘A’;my_file.put(ch);
注意:使用put函數(shù)輸出數(shù)據(jù)不受格式影響,即設(shè)置的域?qū)捄吞畛渥址麑τ趐ut函數(shù)不起作用。第8章輸入/輸出流8.4文件的輸入輸出8.4.2寫入文件(續(xù)二)2.
write函數(shù):把內(nèi)存中的一塊內(nèi)容寫入輸出流對象中。主要用于輸出數(shù)組及自定義類型變量等具有連續(xù)內(nèi)存的數(shù)據(jù)。
write函數(shù)的第一個形參:
用于指定輸出數(shù)據(jù)的內(nèi)存起始地址,該地址為字符型(char*),因此傳遞的實參應(yīng)為字符型的指針。
write函數(shù)的第二個形參:
用于指定所寫入的字節(jié)數(shù),即從該起始地址開始寫入多少字節(jié)的數(shù)據(jù),第二個形參類型為整型。第8章輸入/輸出流例8.6使用write函數(shù)輸出CRect類的對象#include<fstream>usingnamespacestd;voidmain(){ CRectr; r.SetColor(“Red”); r.Move(10,20); r.SetSize(100,200); ofstreamoutfile(“D:\\a.txt”,ios::out); outfile.write((char*)&r,sizeof(r)); outfile.close();//調(diào)用close函數(shù)關(guān)閉文件}
第8章輸入/輸出流定義輸出文件流對象并打開文件進行輸出將r地址強制類型轉(zhuǎn)換(char*)為字符型指針例8.7使用write函數(shù)輸出整型數(shù)組#include<fstream>usingnamespacestd;voidmain(){ intarray[]={35,42,57,88,69,75}; ofstreamoutfile2(“D:\\a.txt”,ios::app); outfile2.write((char*)array,sizeof(array)); outfile2.close();}
第8章輸入/輸出流在打開的文件尾添加數(shù)據(jù)將數(shù)組首地址強制類型轉(zhuǎn)換若將主函數(shù)的array數(shù)組改為:chararray[]=“helloworld!”;則write語句將變?yōu)椋簅utfile2.write(array,sizeof(array));無須強制類型轉(zhuǎn)換8.4文件的輸入輸出8.4.3讀取文件如果讀取的是標準數(shù)據(jù)類型的數(shù)據(jù)或字符串,可以直接通過提取運算符(>>),將數(shù)據(jù)從輸入文件流對象讀取到程序的變量中。使用提取運算符提取數(shù)據(jù)時,將以空白字符(如空格、Tab、回車)作為數(shù)據(jù)之間的分隔符,因此這些空白字符不能被作為數(shù)據(jù)提取出來。如:char
s[10];
int
i;ifstream
in_file(“D:\\data.txt”,ios::in);
in_file>>s>>i;第8章輸入/輸出流若文件中數(shù)據(jù)為:Hello!234則s和i的數(shù)據(jù)分別為:“Hello!”、2348.4文件的輸入輸出8.4.3讀取文件(續(xù)一)1.
get函數(shù):使用get函數(shù)可以從流對象中提取一個單個字符,get函數(shù)彌補了提取運算符不能提取空白字符的缺點,它能把任意字符包括空白符提取出來。get函數(shù)提取一個字符時,有帶形參和不帶形參兩種形式:
如:char
ch;
ch=cin.get();
或:
cin.get(ch);
若以上語句中調(diào)用get函數(shù)的是一個輸入文件流對象,則將從該流對象所關(guān)聯(lián)的文件中提取出單個字符。第8章輸入/輸出流8.4文件的輸入輸出8.4.3讀取文件(續(xù)二)2.
getline函數(shù):用于從流對象中提取多個字符,通常用于提取一行字符。get函數(shù)有三個形參。
get函數(shù)的第一個形參:
為字符型指針(char*),用于存放讀出的多個字符,通常傳遞的實參為字符數(shù)組。
get函數(shù)的第二個形參:
為整型,用于指定本次讀取的最大字符個數(shù)。
get函數(shù)的第三個形參:
為字符型,默認值為回車符(‘\n’),用于指定分隔字符,作為一次讀取結(jié)束的標志。第8章輸入/輸出流例8.8讀取文件E:\boot.txt中的內(nèi)容,并輸出到屏幕上#include<fstream>#include<iostream>usingnamespacestd;voidmain(){ chararray[100]; ifstreamifs(“E:\\boot.txt”,ios::nocreate); if(!ifs) return;//如果文件不存在,打開不成功,則結(jié)束程序 while(!ifs.eof())//eof函數(shù)用于判斷是否到文件尾,到文件尾返回True { ifs.getline(array,100);//100表示每次讀取字符的個數(shù)最多為99個 cout<<array<<endl; } ifs.close();}第8章輸入/輸出流使用getline函數(shù)按行讀取文件中的數(shù)據(jù),每次讀取一行時,遇回車符或達到最大字符個數(shù),則結(jié)束,并將讀出數(shù)據(jù)保存于數(shù)組array中。
8.4文件的輸入輸出8.4.3讀取文件(續(xù)三)3.
read函數(shù):從流對象中提取整塊數(shù)據(jù)到變量中,主要用于提取數(shù)據(jù)到數(shù)組及自定義類型變量中。
read函數(shù)的第一個形參:
用于保存讀出的數(shù)據(jù),類型為字符型指針(char*),與write函數(shù)中用法一致。
read函數(shù)的第二個形參:
用于指定讀出多少個字節(jié),類型為整型。與write函數(shù)中用法一致。第8章輸入/輸出流例8.9讀取例10.6中輸出到文件“D:\a.txt”中的內(nèi)容,并將矩形參數(shù)顯示到屏幕上#include<fstream>#include<iostream>usingnamespacestd;voidmain(){ CRectr2; ifstreamifile(“D:\\a.txt”); ifile.read((char*)&r2,sizeof(r2));//將讀出的數(shù)據(jù)保存到矩形對象r2中 ifile.close(); r2.Draw();}第8章輸入/輸出流程序運行結(jié)果為:矩形左上角坐標為(20,10)矩形長和寬分別為100,200矩形的顏色是red8.4文件的輸入輸出8.4.4文件讀寫位置指針
位置指針:用于保存在文件中進行讀或?qū)懙奈恢谩Mㄟ^對位置指針的操作,適當?shù)卣{(diào)整讀或?qū)懙奈恢?,可以實現(xiàn)對磁盤文件的隨機訪問。與ofstream對應(yīng)的是寫位置指針,指定下一次寫數(shù)據(jù)的位置。相關(guān)的操作函數(shù)為:
seekp函數(shù):用于移動指針到指定位置。
tellp函數(shù):用于返回指針當前的位置。
與ifstream對應(yīng)的是讀位置指針,指定下一次讀數(shù)據(jù)的位置。相關(guān)的操作函數(shù)為:
seekg函數(shù):用于移動指針到指定位置。
tellg函數(shù):用于返回指針當前的位置。第8章輸入/輸出流8.4文件的輸入輸出8.4.4文件讀寫位置指針(續(xù))
seekg函數(shù)的使用形式(seekp類似):
seekg(n):用于移動指針到文件第n個字節(jié)后。
seekg(n,ios::beg):從文件起始位置向后移動n個字節(jié)。seekg(n,ios::end):從文件結(jié)尾位置向前移動n個字節(jié)。
seekg(n,ios::cur):從當前位置向前或向后移動n個字節(jié)。
其中:n=0,在指定位置;n>0,在指定位置向后移動;n<0,在指定位置向前移動。
tellg函數(shù)的使用形式(tellp類似):
streamposn=流對象.tellg()
streampos可看作整型數(shù)據(jù),返回值保存指針當前的位置。第8章輸入/輸出流例8.10
已知文件data.txt中存有10個CRect對象的數(shù)據(jù),現(xiàn)要求讀取最后一個對象,把它的左上角坐標修改為(100,100),其他不變,修改后寫回到文件中去。#include<fstream>
usingnamespacestd; voidmain() { CRectrt; ifstreamifs(“data.txt”); ifs.seekg(0,ios::end);//將指針移動到文件尾
streamposlof=ifs.tellg();//求得文件長度lof ifs.seekg(-lof/10,ios::end);//將指針移動到最后一條記錄起始位置
ifs.read((char*)&rt,sizeof(CRect)); ifs.close(); rt.Move(100,100); ofstreamofs(“data.txt”,ios::ate);//以ios::ate方式打開文件防止刪除原來內(nèi)容
ofs.seekp(-lof/10,ios::end);//將指針移動到最后一條記錄起始位置
ofs.write((char*)&rt,sizeof(CRect)); ofs.close(); }
第8章輸入/輸出流8.4文件的輸入輸出8.4.5錯誤處理函數(shù)
eof()——如果輸入流結(jié)束,到文件尾,則返回True;
bad()——如果出現(xiàn)一個嚴重的、不可恢復(fù)的錯誤,如由于非法操作導(dǎo)致數(shù)據(jù)丟失、對象狀態(tài)不可用等,則返回True,通常這種錯誤不可修復(fù),此時不要對流再進行I/O操作;
fail()——如果某種操作失敗,如打開操作不成功,或不能讀出數(shù)據(jù),或讀出數(shù)據(jù)的類型不符等等,則返回True;
good()——如果以上三種錯誤均未發(fā)生,表示流對象狀態(tài)正常,則返回True。以上函數(shù)可由流對象直接調(diào)用,如:if(!inf.eof())//如果沒有到文件末尾,if條件滿足第8章輸入/輸出流8.4文件的輸入輸出8.4.6關(guān)閉文件文件使用完畢后必須將其關(guān)閉才能斷開流和對象之間的聯(lián)系。文件關(guān)閉后,還可以再次與流對象關(guān)聯(lián),打開文件進行輸入或輸出操作。使用流對象的close函數(shù)可以完成關(guān)閉文件的操作,close函數(shù)無形參,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合股賣水泥合同范本
- 勞務(wù)分包單位合同范本
- 勞務(wù)合同范本車輛
- 微信租房合同范本
- 與單位簽正式合同范本
- 廠內(nèi)車間出租合同范本
- 化肥生產(chǎn)合同范本
- 做建設(shè)合同范本
- 合同范本嬰兒車
- 分期付款機器買賣合同范本
- 地質(zhì)構(gòu)造和構(gòu)造地貌 -【公開課教學(xué)PPT課件】高中地理
- 道路建筑材料電子教案(全)
- 《尹定邦設(shè)計學(xué)概論》試題及答案
- 黃河流域生態(tài)保護和高質(zhì)量發(fā)展知識競賽試題及答案(共52題)
- 1、1~36號元素電子排布式、排布圖
- 國網(wǎng)新聞宣傳與企業(yè)文化管理專責(zé)題庫匯總-下(判斷、簡答題)
- 職業(yè)衛(wèi)生調(diào)查表
- 某安裝公司績效考核標準表
- 免疫學(xué)檢測技術(shù)的基本原理優(yōu)秀課件
- 2023年北京市實驗動物上崗證培訓(xùn)考試題庫完美精編版
- 第一講 文化概論
評論
0/150
提交評論