《C程序設(shè)計(jì)》電子教案第10章流類庫(kù)與輸入輸出.ppt
《《C程序設(shè)計(jì)》電子教案第10章流類庫(kù)與輸入輸出.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C程序設(shè)計(jì)》電子教案第10章流類庫(kù)與輸入輸出.ppt(59頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第10章流類庫(kù)與輸入輸出,10.1I/O標(biāo)準(zhǔn)流類10.2格式化I/O10.3文件流10.4字符串流,10.1I/O標(biāo)準(zhǔn)流類,10.1.1預(yù)定義流10.1.2C+中的流類庫(kù),返回首頁(yè),在C+語(yǔ)言中,數(shù)據(jù)的輸入和輸出(簡(jiǎn)寫(xiě)為I/O)包括對(duì)標(biāo)準(zhǔn)輸入設(shè)備鍵盤(pán)和標(biāo)準(zhǔn)輸出設(shè)備顯示器、對(duì)在外存磁盤(pán)上的文件和對(duì)內(nèi)存中指定的字符串存儲(chǔ)空間進(jìn)行輸入輸出這三個(gè)方面。對(duì)標(biāo)準(zhǔn)輸入設(shè)備和標(biāo)準(zhǔn)輸出設(shè)備的輸入輸出簡(jiǎn)稱為標(biāo)準(zhǔn)I/O,對(duì)在外存磁盤(pán)上文件的輸入輸出簡(jiǎn)稱為文件I/O,對(duì)內(nèi)存中指定的字符串存儲(chǔ)空間的輸入輸出簡(jiǎn)稱為串I/O。,C+中把數(shù)據(jù)之間的傳輸操作稱作流。在C+中,流既可以表示數(shù)據(jù)從內(nèi)存?zhèn)魉偷侥硞€(gè)載體或設(shè)備中,即輸出流;也可以表示數(shù)據(jù)從某個(gè)載體或設(shè)備傳送到內(nèi)存緩沖區(qū)變量中,即輸入流。在進(jìn)行I/O操作時(shí),首先打開(kāi)操作,使流和文件發(fā)生聯(lián)系,建立聯(lián)系后的文件才允許數(shù)據(jù)流入或流出,輸入或輸出結(jié)束后,使用關(guān)閉操作使文件與流斷開(kāi)聯(lián)系。,C+中所有流都是相同的,但文件可以不同。使用流以后,程序用流統(tǒng)一對(duì)各種計(jì)算機(jī)設(shè)備和文件進(jìn)行操作,使程序與設(shè)備、程序與文件無(wú)關(guān),從而提高了程序設(shè)計(jì)的通用性和靈活性。也就是說(shuō),無(wú)論與流相聯(lián)系的實(shí)際物理設(shè)備差別有多大,流都采用相同的方式運(yùn)行。這種機(jī)制使得流可以跨越物理設(shè)備平臺(tái),實(shí)現(xiàn)流的透明運(yùn)作,而與實(shí)際的物理設(shè)備無(wú)關(guān)。例如,往顯示器上輸出字符和向磁盤(pán)文件或打印機(jī)輸出字符,盡管接受輸出的物理設(shè)備不同,但具體操作過(guò)程是相同的。,10.1.1預(yù)定義流,1cout在ostream輸出流類中定義有對(duì)左移操作符重載的一組公用成員函數(shù),函數(shù)的具體聲明格式為:istream,3cerrcerr類似標(biāo)準(zhǔn)錯(cuò)誤文件。cerr與cout的差別在于:(1)cerr不能重定向。(2)cerr不能被緩沖,它的輸出總是直接傳達(dá)到標(biāo)準(zhǔn)輸出設(shè)備上。4clogclog是不能重定向的,但是可以被緩沖。在某些系統(tǒng)中,由于緩沖,使用clog代替cerr可以改進(jìn)顯示速度。clogErrorn;,返回本節(jié),10.1.2C+中的流類庫(kù),C+語(yǔ)言系統(tǒng)為實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出定義了一個(gè)龐大的類庫(kù),它包括的類主要有ios,istream,ostream,iostream,ifstream,ofstream,fstream,istrstream,ostrstream和strstream等。其中ios為根基類,它直接派生四個(gè)類:輸入流類istream、輸出流類ostream、文件流基類fstreambase和字符串流基類strstreambase,輸入文件流類ifstream同時(shí)繼承了輸入流類和文件流基類(當(dāng)然對(duì)于根基類是間接繼承),輸出文件流類ofstream同時(shí)繼承了輸出流類和文件流基類,輸入字符串流類istrstream同時(shí)繼承了輸入流類和字符串流基類,輸出字符串流類ostrstream同時(shí)繼承了輸出流類和字符串流基類,輸入輸出流類iostream同時(shí)繼承了輸入流類和輸出流類,輸入輸出文件流類fstream同時(shí)繼承了輸入輸出流類和文件流基類,輸入輸出字符串流類strstream同時(shí)繼承了輸入輸出流類和字符串流基類。,返回本節(jié),10.2格式化I/O,10.2.1ios類中的枚舉常量10.2.2使用ios成員函數(shù)10.2.3使用I/O操作符10.2.4檢測(cè)流操作的錯(cuò)誤,返回首頁(yè),10.2.1ios類中的枚舉常量,在根基類ios中定義有三個(gè)用戶需要使用的枚舉類型,由于它們是在公用成員部分定義的,所以其中的每個(gè)枚舉類型常量在加上ios:前綴后都可以為本類成員函數(shù)和所有外部函數(shù)訪問(wèn)。在三個(gè)枚舉類型中有一個(gè)無(wú)名枚舉類型,其中定義的每個(gè)枚舉常量都是用于設(shè)置控制輸入輸出格式的標(biāo)志使用的。該枚舉類型定義如下:enumskipws,left,right,internal,dec,oct,hex,showbase,showpoint,uppercase,showpos,scientific,fixed,unitbuf,stdio;,各枚舉常量的含義如下:(1)skipws。(2)left,right,internal。(3)dec,oct,hex。(4)showbase。(5)showpoint。(6)uppercase。(7)showpos。(8)scientific,fixed。(9)unitbuf,stdio。,返回本節(jié),10.2.2使用ios成員函數(shù),ios類提供成員函數(shù)對(duì)流的狀態(tài)進(jìn)行檢測(cè)和進(jìn)行輸入輸出格式控制等操作,每個(gè)成員函數(shù)的聲明格式和簡(jiǎn)要說(shuō)明如下:intbad();/操作出錯(cuò)時(shí)返回非0值inteof();/讀取到流中最后的文件結(jié)束符時(shí)返回非0值intfail();/操作失敗時(shí)返回非0值voidclear();/清除bad,eof和fail所對(duì)應(yīng)的標(biāo)志狀態(tài),使之恢復(fù)為正常狀態(tài)/值0,使good標(biāo)志狀態(tài)恢復(fù)為1charfill();/返回當(dāng)前使用的填充字符charfill(charc);/重新設(shè)置流中用于輸出數(shù)據(jù)的填充字符為c的值,返回/此前的填充字符。系統(tǒng)預(yù)設(shè)置填充字符為空格longflags();/返回當(dāng)前用于I/O控制的格式狀態(tài)字,longflags(longf);/重新設(shè)置格式狀態(tài)字為f的值,返回此前的格式狀態(tài)字intgood();/操作正常時(shí)返回非0值,當(dāng)操作出錯(cuò)、失敗和讀到文件/結(jié)束符時(shí)均為不正常,則返回0intprecision();/返回浮點(diǎn)數(shù)輸出精度,即輸出的有效數(shù)字的位數(shù)intprecision(intn);/設(shè)置浮點(diǎn)數(shù)的輸出精度為n,返回此前的輸出精度。系統(tǒng)預(yù)設(shè)/置的輸出精度為6,即輸出的浮點(diǎn)數(shù)最多具有6位為有效數(shù)字intrdstate();/操作正常時(shí)返回0,否則返回非0值,它與good()正好相反longsetf(longf);/根據(jù)參數(shù)f設(shè)置相應(yīng)的格式化標(biāo)志,返回此前的設(shè)置。該參數(shù)/f所對(duì)應(yīng)的實(shí)參為無(wú)名枚舉類型中的枚舉常量(又稱格式化常/量),可以同時(shí)使用一個(gè)或多個(gè)常量,每?jī)蓚€(gè)常量之間要用按位或/操作符連接。如需要左對(duì)齊輸出,并使數(shù)值中的字母大寫(xiě)時(shí),/則調(diào)用該函數(shù)的實(shí)參為ios:left|ios:uppercase,longunsetf(longf);/根據(jù)參數(shù)f清除相應(yīng)的格式化標(biāo)志,返回此前的設(shè)置。如要/清除此前的左對(duì)齊輸出設(shè)置,恢復(fù)默認(rèn)的右對(duì)齊輸出設(shè)置,/則調(diào)用該函數(shù)的實(shí)參為ios:leftintwidth();/返回當(dāng)前的輸出域?qū)?。若返回?cái)?shù)值0則表明沒(méi)為剛才輸出的數(shù)/值設(shè)置輸出域?qū)挕]敵鲇驅(qū)捠侵篙敵龅闹翟诹髦兴加械淖止?jié)數(shù)intwidth(intw);/設(shè)置下一個(gè)數(shù)據(jù)值的輸出域?qū)挒閣,返回為輸出上一個(gè)數(shù)據(jù)值/所規(guī)定的域?qū)?,若無(wú)規(guī)定則返回0。注意:此設(shè)置不是一直有/效,而只是對(duì)下一個(gè)輸出數(shù)據(jù)有效,例10-2:給出以下程序的運(yùn)行結(jié)果。#includevoidmain()intx=123;doubley=-3.456789;coutx=;cout.width(10);/設(shè)置輸出下一個(gè)數(shù)據(jù)的域?qū)挒?0coutx;/按默認(rèn)的右對(duì)齊輸出,剩余位置填充空格字符couty=;cout.width(10);/設(shè)置輸出下一個(gè)數(shù)據(jù)的域?qū)挒?0coutyendl;cout.setf(ios:left);/設(shè)置按左對(duì)齊輸出,coutx=;cout.width(10);coutx;couty=;cout.width(10);coutyendl;cout.fill(*);/設(shè)置填充字符為*cout.precision(3);/設(shè)置浮點(diǎn)數(shù)輸出精度為3cout.setf(ios:showpos);/設(shè)置正數(shù)的正號(hào)輸出coutx=;cout.width(10);coutx;couty=;cout.width(10);coutyendl;,此程序運(yùn)行結(jié)果如下:x=123y=-3.45679x=123y=-3.45679x=+123*y=-3.46*,例10-3:給出以下程序的運(yùn)行結(jié)果。#includevoidmain()floatx=12,y=-3.456;coutxyendl;cout.setf(ios:showpoint);/強(qiáng)制顯示小數(shù)點(diǎn)和無(wú)效0coutxyendl;cout.unsetf(ios:showpoint);/恢復(fù)默認(rèn)輸出cout.setf(ios:scientific);/設(shè)置按科學(xué)表示法輸出coutxyendl;cout.setf(ios:fixed);/設(shè)置按定點(diǎn)表示法輸出coutxy)的輸出對(duì)象即可。,例10-4:給出以下程序的運(yùn)行結(jié)果。#include/因iomanip.h中包含有iostream.h,所以該命令可省略#includevoidmain()intx=12,y=345,z=6789;coutxyzendl;/按十進(jìn)制輸出coutoctxyzendl;/按八進(jìn)制輸出couthexxyzendl;/按十六進(jìn)制輸出coutsetiosflags(ios:showbase|ios:uppercase);/設(shè)置基指示符和數(shù)值中的字母大寫(xiě)輸出coutxyzendl;/仍按十六進(jìn)制輸出coutresetiosflags(ios:showbase|ios:uppercase);/取消基指示符和數(shù)值中的字母大寫(xiě)輸出coutxyzendl;/仍按十六進(jìn)制輸出coutdecxyzendl;/按十進(jìn)制輸出,例10-5:給出以下程序的運(yùn)行結(jié)果。#include#includevoidmain()intx=123;doubley=-3.456789;coutx=setw(10)x;couty=setw(10)yendl;coutsetiosflags(ios:left);/設(shè)置按左對(duì)齊輸出coutx=setw(10)x;couty=setw(10)yendl;,coutsetfill(*);/設(shè)置填充字符為*coutsetprecision(3);/設(shè)置浮點(diǎn)數(shù)輸出精度為3coutsetiosflags(ios:showpos);/設(shè)置正數(shù)的正號(hào)輸出coutx=setw(10)x;couty=setw(10)yendl;coutresetiosflags(ios:left|ios:showpos);coutsetfill();,返回本節(jié),10.2.4檢測(cè)流操作的錯(cuò)誤,在I/O流的操作過(guò)程中可能出現(xiàn)各種錯(cuò)誤,每一個(gè)流都有一個(gè)狀態(tài)標(biāo)志字,以指示是否發(fā)生了錯(cuò)誤以及出現(xiàn)了哪種類型的錯(cuò)誤,這種處理技術(shù)與格式控制標(biāo)志字是相同的。ios類定義了以下枚舉類型:enumio_stategoodbit=0 x00,/不設(shè)置任何位,一切正常eofbit=0 x01,/輸入流已經(jīng)結(jié)束,無(wú)字符可讀入failbit=0 x02,/上次讀/寫(xiě)操作失敗,但流仍可使用badbit=0 x04,/試圖作無(wú)效的讀/寫(xiě)操作,流不再可用hardfail=0 x80/不可恢復(fù)的嚴(yán)重錯(cuò)誤;,返回本節(jié),10.3文件流,10.3.1文件的概念10.3.2文件的打開(kāi)與關(guān)閉10.3.3文件的讀寫(xiě),返回首頁(yè),10.3.1文件的概念,在磁盤(pán)上保存的信息是按文件的形式組織的,每個(gè)文件都對(duì)應(yīng)一個(gè)文件名,并且屬于某個(gè)物理盤(pán)或邏輯盤(pán)的目錄層次結(jié)構(gòu)中一個(gè)確定的目錄之下。一個(gè)文件名由文件主名和擴(kuò)展名兩部分組成,它們之間用圓點(diǎn)(即小數(shù)點(diǎn))分開(kāi),擴(kuò)展名可以省略,當(dāng)省略時(shí)也要省略掉前面的圓點(diǎn)。文件主名是由用戶命名的一個(gè)有效的C+標(biāo)識(shí)符,為了同其他軟件系統(tǒng)兼容,一般讓文件主名為不超過(guò)8個(gè)有效字符的標(biāo)識(shí)符,同時(shí)為了便于記憶和使用,最好使文件主名的含義與所存的文件內(nèi)容相一致。,在C+程序中使用的保存數(shù)據(jù)的文件按存儲(chǔ)格式分為兩種類型,一種為字符格式文件,簡(jiǎn)稱字符文件,另一種為內(nèi)部格式文件,簡(jiǎn)稱字節(jié)文件。字符文件又稱ASCII碼文件或文本文件,字節(jié)文件又稱二進(jìn)制文件。,C+程序文件,利用其他各種語(yǔ)言編寫(xiě)的程序文件,用戶建立的各種文本文件,各種軟件系統(tǒng)中的幫助文件等,因都是ASCII碼文件,所以都可以在C+中作為字符文件使用。C+系統(tǒng)把各種外部設(shè)備也看作為相應(yīng)的文件。如把標(biāo)準(zhǔn)輸入設(shè)備鍵盤(pán)和標(biāo)準(zhǔn)輸出設(shè)備顯示器看作為標(biāo)準(zhǔn)輸入輸出文件,其文件名(又稱設(shè)備名)為con,當(dāng)向它輸出信息時(shí)就是輸出到顯示器,當(dāng)從它輸入信息時(shí)就是從鍵盤(pán)輸入。,返回本節(jié),10.3.2文件的打開(kāi)與關(guān)閉,流可以分為3類:輸入流、輸出流以及輸入/輸出流,相應(yīng)地必須將流說(shuō)明為ifstream、ofstream以及fstream類的對(duì)象。例如:ifstreamifile;/說(shuō)明一個(gè)輸入流ofstreamofile;/說(shuō)明一個(gè)輸出流fstreamiofile;/說(shuō)明一個(gè)輸入/輸出流,說(shuō)明了流對(duì)象之后,可使用函數(shù)open()打開(kāi)文件。文件的打開(kāi)即是在流與文件之間建立一個(gè)連接。open()的函數(shù)原型為:voidopen(constchar*filename,intmode,intprot=filebuf:openprot);,ios:in打開(kāi)文件進(jìn)行讀操作ios:out打開(kāi)文件進(jìn)行寫(xiě)操作ios:ate打開(kāi)時(shí)文件指針定位到文件尾ios:app添加模式,所有增加都在文件尾部進(jìn)行ios:trunc如果文件已存在則清空原文件ios:nocreate如果文件不存在則打開(kāi)失敗ios:noreplace如果文件存在則打開(kāi)失敗ios:binary二進(jìn)制文件(非文本文件),下面對(duì)文件的打開(kāi)方式作幾點(diǎn)說(shuō)明:(1)文件的打開(kāi)方式可以為上述的一個(gè)枚舉常量,也可以為多個(gè)枚舉常量構(gòu)成的按位或表達(dá)式。(2)使用open成員函數(shù)打開(kāi)一個(gè)文件時(shí),若由字符指針參數(shù)所指定的文件不存在,則建立該文件。(3)當(dāng)打開(kāi)方式中不含有ios:ate或ios:app選項(xiàng)時(shí),則文件指針被自動(dòng)移到文件的開(kāi)始位置,即字節(jié)地址為0的位置。(4)當(dāng)用輸入文件流對(duì)象調(diào)用open成員函數(shù)打開(kāi)一個(gè)文件時(shí),打開(kāi)方式參數(shù)可以省略,默認(rèn)按ios:in方式打開(kāi),若打開(kāi)方式參數(shù)中不含有ios:in選項(xiàng)時(shí),則會(huì)自動(dòng)被加上。,下面給出定義文件流對(duì)象和打開(kāi)文件的一些例子:(1)ofstreamfout;fout.open(a:aaa.dat);/字符串中的雙反斜線表示一個(gè)反斜線(2)ifstreamfin;fin.open(a:bbb.dat,ios:in|ios:nocreate);(3)ofstreamofs;ofs.open(a:ccc.dat,ios:app);(4)fstreamfio;fio.open(a:ddd.ran,ios:in|ios:out|ios:binary);,返回本節(jié),10.3.3文件的讀寫(xiě),1文件讀寫(xiě)方法(1)使用流運(yùn)算符直接讀寫(xiě)。(2)使用流成員函數(shù)。常用的輸出流成員函數(shù)如下:put函數(shù)write函數(shù)get函數(shù)read函數(shù)getline函數(shù),下面對(duì)文件的打開(kāi)方式作幾點(diǎn)說(shuō)明:(1)向字符文件輸出數(shù)據(jù)有兩種方法,一種是調(diào)用從ostream流類中繼承來(lái)的插入操作符重載函數(shù),另一種是調(diào)用從ostream流類中繼承來(lái)的put成員函數(shù)。(2)從打開(kāi)的字符文件中輸入數(shù)據(jù)到內(nèi)存變量有三種方法。(3)當(dāng)使用流對(duì)象調(diào)用get()成員函數(shù)時(shí),通過(guò)判斷返回值是否等于文件結(jié)束符EOF可知文件中的數(shù)據(jù)是否被輸入完畢。,2文本文件的讀寫(xiě)文本文件只適用于那些解釋為ASCII碼的文件。處理文本文件時(shí)將自動(dòng)作一些字符轉(zhuǎn)換,如輸出換行字符0 x0A時(shí)將轉(zhuǎn)換為回車(chē)0 x0D與換行0 x0A兩個(gè)字符存入文本文件,讀入時(shí)也會(huì)將回車(chē)與換行兩個(gè)字符合并為一個(gè)換行字符,這樣內(nèi)存中的字符與寫(xiě)入文件中的字符之間就不再是一一對(duì)應(yīng)關(guān)系。文本文件的結(jié)束以ASCII碼的控制字符0 x1A表示。,例10-7:向a盤(pán)上的write1.dat文件輸出010之間的整數(shù),含0和10在內(nèi)。#include#include#includevoidmain(void)ofstreamf1(a:/write1.dat);/定義輸出文件流,并打開(kāi)相應(yīng)文件,若打開(kāi)/失敗則f1帶回0值if(!f1)/當(dāng)f1打開(kāi)失敗時(shí)進(jìn)行錯(cuò)誤處理cerra:/write1.datfilenotopen!endl;exit(1);for(inti=0;i10;i+)f1i;/向f1文件流輸出i值f1.close();/關(guān)閉f1所對(duì)應(yīng)的文件,例10-9:假定一個(gè)結(jié)構(gòu)數(shù)組a中的元素類型pupil包含有表示姓名的字符指針域name和表示成績(jī)的整數(shù)域grade,試編寫(xiě)一個(gè)函數(shù)把該數(shù)組中的n個(gè)元素輸出到字符文件“a:/write3.dat”中。#include#includevoidArrayOut(pupila,intn)ofstreamf3(a:/write3.dat);if(!file3)/當(dāng)file3打開(kāi)失敗時(shí)進(jìn)行錯(cuò)誤處理cerrFileofa:/write3.datnotopen!endl;exit(1);,for(inti=0;in;i+)file3ai.nameendlai.gradeendl;file3.close();若已經(jīng)為輸出pupil類型的數(shù)據(jù)定義了如下插入操作符重載函數(shù):ostream”。,例10-10:從例10-7所建立的a:/write1.dat文件中輸入全部數(shù)據(jù)并依次顯示到屏幕上。#include#include#includevoidmain(void)ifstreamf1(a:/write1.dat,ios:in|ios:nocreate);/定義輸入文件流,并打開(kāi)相應(yīng)文件,若打開(kāi)失敗則file1帶回0值if(!file1)/當(dāng)file1打開(kāi)失敗時(shí)進(jìn)行錯(cuò)誤處理cerra:/write1.datfilenotopen!x)/依次從文件中輸入整數(shù)到x,當(dāng)讀到的是文件結(jié)束符時(shí)條件表達(dá)式/的值為0coutx;coutpos;if(posmaxpos)coutThepositionoffileisntrightendl;,elsecharch;ifile.seekg(pos);ifile.get(ch);coutchendl;ifile.close();return1;如果需要讀取多個(gè)字節(jié)的數(shù)據(jù),則可將ifile.get(ch);改為:ifile.read(char*),返回本節(jié),10.4字符串流,10.4.1字符串流概述10.4.2istrstream類的構(gòu)造函數(shù)10.4.3ostrstream類的構(gòu)造函數(shù),返回首頁(yè),10.4.1字符串流概述,字符串流類包括輸入字符串流類istrstream,輸出字符串流類ostrstream和輸入輸出字符串流類strstream三種。它們都被定義在系統(tǒng)頭文件strstrea.h中。只要在程序中帶有該頭文件,就可以使用任一種字符串流類定義字符串流對(duì)象。每個(gè)字符串流對(duì)象簡(jiǎn)稱為字符串流。字符串流對(duì)應(yīng)的訪問(wèn)空間是內(nèi)存中由用戶定義的字符數(shù)組,而文件流對(duì)應(yīng)的訪問(wèn)空間是外存上由文件名確定的文件存儲(chǔ)空間。,三種字符串流類的構(gòu)造函數(shù)聲明格式分別如下:istrstream(constchar*buffer);ostrstream(char*buffer,intn);strstream(char*buffer,intn,intmode);,下面給出定義相應(yīng)字符串流的例子。(1)ostrstreamsout(a1,50);(2)istrstreamsin(a2);(3)strstreamsio(a3,sizeof(a3),ios:in|ios:out);,返回本節(jié),10.4.2istrstream類的構(gòu)造函數(shù),istrstream類的構(gòu)造函數(shù)的原型分別是:istrstream:istrstream(char*s);istrstream:istrstream(char*s,intn);這兩個(gè)構(gòu)造函數(shù)的第一個(gè)參數(shù)s是一個(gè)字符指針或字符數(shù)組,使用該串來(lái)初始化要?jiǎng)?chuàng)建的流對(duì)象。第一個(gè)構(gòu)造函數(shù)是使用所指定的串的全部?jī)?nèi)容來(lái)構(gòu)造流對(duì)象,而第二個(gè)構(gòu)造函數(shù)使用串中前n個(gè)字符來(lái)構(gòu)造串對(duì)象。,下面舉例說(shuō)明上述構(gòu)造函數(shù)的用法。例10-14:從一個(gè)字符串流中輸入用逗號(hào)分開(kāi)的每一個(gè)整數(shù)并顯示出來(lái)。#includevoidmain()chara=12,34,56,78,90,87,65,43;coutawsxws;/從流中讀入一個(gè)整數(shù),并使用操作符ws讀取/一個(gè)整數(shù)前后的空白字符coutx;/輸出x的值并后跟一個(gè)空格sin.get(ch);/從sin流中讀入一個(gè)字符,實(shí)際讀取的是,或字符couti;istrstreams2(buf,3);s2j;couti+j=48/從sin流中讀入下一個(gè)字符,soutends;/向sout流輸出作為結(jié)束符的字符和一個(gè)字符串結(jié)束符0coutb;/輸出字符串流sout對(duì)應(yīng)的字符串coutendl;該程序的運(yùn)行結(jié)果如下:ab12+34,56*78-90/cd123,ABC45DE:fg67;891234567890123456789,返回本節(jié),- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C程序設(shè)計(jì) 程序設(shè)計(jì) 電子 教案 10 章流類庫(kù) 輸入輸出
鏈接地址:http://m.italysoccerbets.com/p-11498688.html