版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1珍惜了,才成長了作文歲月不停流逝,需要珍惜的,又有些什么?題記雨雪紛飛,隱入眉間。我獨(dú)自佇立在河邊,望著已經(jīng)結(jié)冰的河面,卻看到了冰下的生機(jī)。你,是否也懂得珍惜?小時(shí)候,總聽大人們說,成長總要舍棄一些。那時(shí)候,我總在想,為什么不可以在珍惜中成長?后來,我長大了,小時(shí)候的話也隨風(fēng)飄散,我變了,再也不肯牽父母的手,總以為他們可有可無。直到那一天,父親要出遠(yuǎn)門,我想,我該高興。淚,卻漸漸滑落。終于,在我父母詫異的目光下,說出了多年未說出口的那句話:“我愛你?!备赣H,哭了。我卻抹掉淚水,笑著抱住了他。成長,需要珍惜眼前人。我喜歡看日出。深處的早晨,我愛坐在山頭,看陽光灑滿大地。天,還有些暗,遙遠(yuǎn)的天邊
2、,甚至還有幾顆星在閃爍。我靜靜的等著。秋風(fēng)有些蕭瑟。這是我來看日出的第幾日了?好像數(shù)不清了。自從回到故鄉(xiāng),這個(gè)習(xí)慣我一直堅(jiān)持著。望著在風(fēng)中舞動(dòng)的谷穗,突然有了些許感動(dòng),他們與風(fēng)雨拼搏了多少次,才贏得我們一口糧食?我們?yōu)楹芜€不好好珍惜?太陽出來了,谷穗又看到了生命的希望。陽光給經(jīng)受摧殘的林間送來了勃勃生氣。第1010章 輸入輸出流10.1 10.1 文件、流以及C+C+的流類庫* *10.2 10.2 插入與提取運(yùn)算符的重載10.3 10.3 I/OI/O格式的控制10.4 10.4 磁盤文件的輸入輸出10.10.5 text5 text文件與binarybinary文件* *10.10.6 6
3、 字符串流10.7 10.7 其他輸入輸出控制函數(shù)第1頁/共66頁210.1 10.1 文件、流以及C+C+的流類庫- - 參看書參看書p325p3251 1 流類庫的優(yōu)點(diǎn)流類庫的優(yōu)點(diǎn) 用用C+C+語言自己的支持語言自己的支持I/O I/O 操作的流類庫代替操作的流類庫代替printf printf 函數(shù)族,是一個(gè)明顯的進(jìn)步函數(shù)族,是一個(gè)明顯的進(jìn)步 (1 1)簡明與可讀性)簡明與可讀性 I/O I/O 語句更為簡明,增加了可讀性語句更為簡明,增加了可讀性(2 2)類型安全()類型安全(type safetype safe)所謂類型安全,是指在進(jìn)行所謂類型安全,是指在進(jìn)行I/O I/O 操作時(shí)不
4、應(yīng)對(duì)于參加操作時(shí)不應(yīng)對(duì)于參加輸入輸出的數(shù)據(jù)在類型上發(fā)生不應(yīng)有的變化輸入輸出的數(shù)據(jù)在類型上發(fā)生不應(yīng)有的變化 (3 3)易于擴(kuò)充)易于擴(kuò)充第2頁/共66頁32 2 文件與流的概念 C+ C+語言中的輸入輸出操作語言中的輸入輸出操作( (功能功能) )是由它所預(yù)是由它所預(yù)定義的諸定義的諸I/OI/O流類的一個(gè)類庫所提供的。流類的一個(gè)類庫所提供的。 1. 1. 流流( (Stream)Stream) 流流( (stream)stream)是一個(gè)邏輯概念是一個(gè)邏輯概念,它是,它是C+C+語言對(duì)語言對(duì)所有外部設(shè)備的邏輯抽象,它所有外部設(shè)備的邏輯抽象,它代表的是某種流類類代表的是某種流類類型的一個(gè)對(duì)象型的一
5、個(gè)對(duì)象。C+C+的的IOIO系統(tǒng)將每個(gè)外部設(shè)備都轉(zhuǎn)系統(tǒng)將每個(gè)外部設(shè)備都轉(zhuǎn)換成一個(gè)稱為流的邏輯設(shè)備,由流來完成對(duì)不同換成一個(gè)稱為流的邏輯設(shè)備,由流來完成對(duì)不同設(shè)備的具體操作。設(shè)備的具體操作。第3頁/共66頁4 2. 2. 文件( (File)File) 文件文件( (File)File)是一個(gè)物理概念是一個(gè)物理概念,代表存儲(chǔ)著信息集合的,代表存儲(chǔ)著信息集合的某個(gè)某個(gè)外部介質(zhì)外部介質(zhì),它是,它是C+C+語言語言對(duì)具體設(shè)備的抽象對(duì)具體設(shè)備的抽象。如,磁盤。如,磁盤文件,顯示器,鍵盤(又可以分為文本和二進(jìn)制文件)。文件,顯示器,鍵盤(又可以分為文本和二進(jìn)制文件)。 所有流所有流( (類對(duì)象類對(duì)象) )
6、的行為都是相同的,而不同的文件則可的行為都是相同的,而不同的文件則可能具有不同的行為。如,磁盤文件可進(jìn)行寫也可進(jìn)行讀操作;能具有不同的行為。如,磁盤文件可進(jìn)行寫也可進(jìn)行讀操作;顯示器文件則只可進(jìn)行寫操作;而鍵盤文件只可進(jìn)行讀操作。顯示器文件則只可進(jìn)行寫操作;而鍵盤文件只可進(jìn)行讀操作。 當(dāng)程序與一個(gè)文件交換信息時(shí),必須通過當(dāng)程序與一個(gè)文件交換信息時(shí),必須通過“打開文件打開文件”的操作將一個(gè)文件與一個(gè)流的操作將一個(gè)文件與一個(gè)流( (類對(duì)象類對(duì)象) )聯(lián)系起來。一旦建立了聯(lián)系起來。一旦建立了這種聯(lián)系,以后對(duì)該流這種聯(lián)系,以后對(duì)該流( (類對(duì)象類對(duì)象) )的訪問就是對(duì)該文件的訪問,的訪問就是對(duì)該文件的
7、訪問,也就是對(duì)一個(gè)具體設(shè)備的訪問??赏ㄟ^也就是對(duì)一個(gè)具體設(shè)備的訪問??赏ㄟ^“關(guān)閉文件關(guān)閉文件”的操作的操作將一個(gè)文件與流將一個(gè)文件與流( (類對(duì)象類對(duì)象) )的聯(lián)系斷開。的聯(lián)系斷開。第4頁/共66頁5 3. 3. C+C+的基本流類庫的基本流類庫 在頭文件在頭文件 “ “iostream.h” iostream.h” 中說明中說明( (預(yù)定義預(yù)定義) )了一批了一批基基本流類本流類: : iosios - - 基本流類的基類基本流類的基類; ; istreamistream - - 由由iosios派生,支持輸入派生,支持輸入( (提取提取“”)“”)操作;操作; ostreamostream
8、 - - 由由iosios派生,支持輸出派生,支持輸出( (插入插入“”)“”)操操作;作; iostreamiostream - - 由由istreamistream與與ostreamostream共同派生,支持輸共同派生,支持輸入和輸出雙向操作。入和輸出雙向操作。 第5頁/共66頁6 C+ C+預(yù)定義的流預(yù)定義的流有:有: extern istream extern istream cincin; - ; - 對(duì)象對(duì)象cincin對(duì)應(yīng)于對(duì)應(yīng)于鍵盤鍵盤文件文件 extern ostream extern ostream coutcout; - ; - 對(duì)象對(duì)象coutcout對(duì)應(yīng)于對(duì)應(yīng)于顯示
9、器顯示器文件文件 extern ostream extern ostream cerrcerr; - ; - 對(duì)象對(duì)象cerrcerr對(duì)應(yīng)于對(duì)應(yīng)于顯示器顯示器文件文件 extern ostream extern ostream clogclog; - ; - 對(duì)象對(duì)象clogclog對(duì)應(yīng)于對(duì)應(yīng)于顯示器顯示器文件文件 程序中可直接對(duì)上述程序中可直接對(duì)上述4 4個(gè)預(yù)定義流類對(duì)象進(jìn)行讀寫,而個(gè)預(yù)定義流類對(duì)象進(jìn)行讀寫,而不必先進(jìn)行不必先進(jìn)行“打開文件打開文件”的操作,使用完后也不需要進(jìn)行的操作,使用完后也不需要進(jìn)行“關(guān)閉文件關(guān)閉文件”的操作(因?yàn)檫@些流類對(duì)象與文件之間的聯(lián)系的操作(因?yàn)檫@些流類對(duì)象與文
10、件之間的聯(lián)系是預(yù)定義好的,可認(rèn)為系統(tǒng)已為每一程序都隱含進(jìn)行了對(duì)它是預(yù)定義好的,可認(rèn)為系統(tǒng)已為每一程序都隱含進(jìn)行了對(duì)它們的打開與關(guān)閉操作)。們的打開與關(guān)閉操作)。 第6頁/共66頁7 4. C+ 4. C+的文件流類庫的文件流類庫 在頭文件在頭文件“fstream.h”fstream.h”中說明中說明( (預(yù)定義預(yù)定義) )了一批了一批文件流文件流類類,專用于,專用于磁盤文件磁盤文件: : ifstreamifstream - - 由由istreamistream派生,支持從磁盤文件中輸派生,支持從磁盤文件中輸入入( (讀入讀入) )數(shù)據(jù);數(shù)據(jù); ofstreamofstream - - 由由o
11、streamostream派生,支持往磁盤文件中派生,支持往磁盤文件中輸出輸出( (寫出寫出) )數(shù)據(jù);數(shù)據(jù); fstreamfstream - - 由由iostreamiostream派生,支持對(duì)磁盤文件進(jìn)行派生,支持對(duì)磁盤文件進(jìn)行輸入和輸出數(shù)據(jù)的雙向操作。輸入和輸出數(shù)據(jù)的雙向操作。 C+C+中沒有預(yù)定義的文件流中沒有預(yù)定義的文件流( (類對(duì)象類對(duì)象) ),程序中用到,程序中用到的所有文件流類對(duì)象都要進(jìn)行自定義。的所有文件流類對(duì)象都要進(jìn)行自定義。第7頁/共66頁8* *10.2 10.2 插入與提取運(yùn)算符的重載 - - 參看書參看書p329p329對(duì)自定義類對(duì)自定義類complexcompl
12、ex重載輸入輸出運(yùn)算符重載輸入輸出運(yùn)算符“”“”“”:#includeclass complex double r; double i;public:complex(double r0=0, double i0=0) r=r0; i=i0; complex operator +(complex c2); complex operator *(complex c2); friend istream& operator (istream& in, complex& com); friend ostream& operator ”operator”用于完成從用于完成從
13、istreamistream類的流類對(duì)象類的流類對(duì)象inin上上(如對(duì)應(yīng)實(shí)參可為(如對(duì)應(yīng)實(shí)參可為cincin,即 指 定 從 鍵 盤 上 ) 輸 入 一 個(gè) 復(fù) 數(shù) 的 有 關(guān) 數(shù) 據(jù) 放 入即 指 定 從 鍵 盤 上 ) 輸 入 一 個(gè) 復(fù) 數(shù) 的 有 關(guān) 數(shù) 據(jù) 放 入complexcomplex型引用對(duì)象型引用對(duì)象comcom中;而中;而“operator”operator”則用于實(shí)現(xiàn)往則用于實(shí)現(xiàn)往ostreamostream類類的流類對(duì)象的流類對(duì)象outout上(如對(duì)應(yīng)實(shí)參可為上(如對(duì)應(yīng)實(shí)參可為coutcout,即指定往屏幕上)輸出即指定往屏幕上)輸出complexcomplex類對(duì)象
14、類對(duì)象comcom的有關(guān)數(shù)據(jù)。的有關(guān)數(shù)據(jù)。 3.3. 本程序重載的輸入輸出運(yùn)算符的返回類型均為引用,為的是可使用返回本程序重載的輸入輸出運(yùn)算符的返回類型均為引用,為的是可使用返回結(jié)果繼續(xù)作左值,也即使返回結(jié)果能起到一個(gè)獨(dú)立對(duì)象(變量)的作用,從而可結(jié)果繼續(xù)作左值,也即使返回結(jié)果能起到一個(gè)獨(dú)立對(duì)象(變量)的作用,從而可使用像使用像“coutc1c2;”coutc1c1c2;”cinc1c2;”這樣的調(diào)用語句。另外,這樣的調(diào)用語句。另外,“operator ”operator ”的第二形參的第二形參comcom也必須被說明成引用也必須被說明成引用“complex& com”complex&
15、amp; com”,目的則是要將輸入數(shù)據(jù)直接賦值給對(duì)應(yīng)實(shí)參變量(所擁有的存儲(chǔ)空間中)。目的則是要將輸入數(shù)據(jù)直接賦值給對(duì)應(yīng)實(shí)參變量(所擁有的存儲(chǔ)空間中)。第9頁/共66頁10 complex complex:operator +(complex c2) complex c;c.r=r+c2.r;c.i=i+c2.i;return c; complex complex:operator * (complex c2) complex temp;temp.r=(r*c2.r)-(i*c2.i);temp.i=(r*c2.i)+(i*c2.r);return temp;第10頁/共66頁11istrea
16、m& operator (istream& in, complex& com) incom.rcom.i;return in; /不可缺少,因?yàn)楹瘮?shù)返回類型為不可缺少,因?yàn)楹瘮?shù)返回類型為“istream&” ostream& operator (ostream& out, complex com) out(com.r, com.i)endl;return out; /不可缺少,因?yàn)楹瘮?shù)返回類型為不可缺少,因?yàn)楹瘮?shù)返回類型為“ostream&”void main() complex c1(1,1), c2(2,3), c3, res;cou
17、tc1=c1c2=c2;res = c1+c2;coutc1+c2=res;coutc1*c2=c1*c2;第11頁/共66頁12 coutc3; coutc3+c3=c3+c3; /* 注意輸入輸出語句中出現(xiàn)的注意輸入輸出語句中出現(xiàn)的類對(duì)象類對(duì)象cout以及以及cin正是正是輸入輸入輸出重載函數(shù)中輸出重載函數(shù)中引用型形參引用型形參out以及以及in的對(duì)應(yīng)實(shí)參的對(duì)應(yīng)實(shí)參。即是說,。即是說,若使用若使用“coutc1;”它將等同于它將等同于“operatorc3;”則等同于使用則等同于使用“operator(cin, c3);”。 */ 程序執(zhí)行后,屏幕顯示結(jié)果為:程序執(zhí)行后,屏幕顯示結(jié)果為:
18、c1=(1, 1)c2=(2, 3)c1+c2=(3, 4)c1*c2=(-1, 5)Input c3:3 -5c3+c3=(6, -10)第12頁/共66頁1310.3 10.3 I/OI/O的格式控制1 1 格式控制函數(shù)及格式控制符 2 2 I/OI/O格式控制示例 第13頁/共66頁141 1 格式控制函數(shù)及格式控制符 1. 1. iosios類中常用的公有格式控制成員函數(shù)類中常用的公有格式控制成員函數(shù) 在在iosios類中定義了一批公有的類中定義了一批公有的格式控制標(biāo)志位格式控制標(biāo)志位以及一些以及一些成員函數(shù),通常先用某些成員函數(shù)來設(shè)置標(biāo)志位,然后再使用成員函數(shù),通常先用某些成員函數(shù)來
19、設(shè)置標(biāo)志位,然后再使用另一些成員函數(shù)來進(jìn)行格式輸出。另外,另一些成員函數(shù)來進(jìn)行格式輸出。另外,iosios類中還設(shè)置了一個(gè)類中還設(shè)置了一個(gè)longlong型的數(shù)據(jù)成員用來記錄當(dāng)前被設(shè)置的格式狀態(tài),該數(shù)據(jù)型的數(shù)據(jù)成員用來記錄當(dāng)前被設(shè)置的格式狀態(tài),該數(shù)據(jù)成員被稱為成員被稱為格式控制標(biāo)志字格式控制標(biāo)志字( (或標(biāo)志狀態(tài)字或標(biāo)志狀態(tài)字) )。標(biāo)志字是。標(biāo)志字是由格式由格式控制標(biāo)志位來控制標(biāo)志位來“合成合成”的。的。 注意,注意,iosios類作為諸多類作為諸多I/OI/O流類的基類,其公有成員函數(shù)流類的基類,其公有成員函數(shù)當(dāng)然可被各派生類的對(duì)象所直接調(diào)用。當(dāng)然可被各派生類的對(duì)象所直接調(diào)用。第14頁/共
20、66頁15 (1) (1) ios:flagsios:flags a.a. 格式一格式一: : long flags( long lFlags ); long flags( long lFlags ); 通過參數(shù)通過參數(shù)lFlagslFlags來重新設(shè)置來重新設(shè)置標(biāo)志字標(biāo)志字。 表示各表示各標(biāo)志位標(biāo)志位的枚舉常量有的枚舉常量有( (參看參看p235)p235):ios:skipwsios:skipwsios:left ios:left ios:right ios:right .ios:stdioios:stdio 每一枚舉常量值都代表著格式控制標(biāo)志字中的某一個(gè)二進(jìn)制每一枚舉常量值都代表著格式控
21、制標(biāo)志字中的某一個(gè)二進(jìn)制位位( (bit)bit),當(dāng)設(shè)置了某個(gè)標(biāo)志位屬性時(shí),該位將取值當(dāng)設(shè)置了某個(gè)標(biāo)志位屬性時(shí),該位將取值“1”“1”,否,否則該位取值則該位取值“0”“0”。 第15頁/共66頁16 另外注意,通過另外注意,通過使用位運(yùn)算符使用位運(yùn)算符“|”“|”可將多個(gè)格式控可將多個(gè)格式控制標(biāo)志位屬性進(jìn)行制標(biāo)志位屬性進(jìn)行“合成合成”。但從使用角度看,。但從使用角度看,所設(shè)置所設(shè)置的標(biāo)志位屬性不能產(chǎn)生互斥的標(biāo)志位屬性不能產(chǎn)生互斥。例如,格式控制標(biāo)志字中設(shè)。例如,格式控制標(biāo)志字中設(shè)立了三個(gè)平行的標(biāo)志位立了三個(gè)平行的標(biāo)志位( (ios:decios:dec、ios:octios:oct和和io
22、s:hex)ios:hex)用于表示數(shù)制,程序員應(yīng)保障任何時(shí)刻只設(shè)置其中的某一用于表示數(shù)制,程序員應(yīng)保障任何時(shí)刻只設(shè)置其中的某一個(gè)標(biāo)志位。還有表示對(duì)齊標(biāo)志位的個(gè)標(biāo)志位。還有表示對(duì)齊標(biāo)志位的ios:leftios:left、ios:rightios:right和和i o s : : i n t e r n a li o s : : i n t e r n a l , 以 及 表 示 實(shí) 數(shù) 格 式 標(biāo) 志 位 的以 及 表 示 實(shí) 數(shù) 格 式 標(biāo) 志 位 的ios:scientificios:scientific和和ios:fixedios:fixed,這些互斥屬性也不能同時(shí)這些互斥屬性也不能同
23、時(shí)設(shè)置。設(shè)置。 b.b. 格式二格式二: : long flags(); long flags(); 返回當(dāng)前的標(biāo)志字。返回當(dāng)前的標(biāo)志字。 第16頁/共66頁17 (2) ios:setf(2) ios:setf a.a. 格式一格式一: : long setf( long lFlags ); long setf( long lFlags ); 通過參數(shù)通過參數(shù)lFlagslFlags來設(shè)置指定的格式控制標(biāo)志位。來設(shè)置指定的格式控制標(biāo)志位。 注意,與注意,與flagsflags函數(shù)的函數(shù)的“替換替換”方式不同,此處為方式不同,此處為“添添加加”方式,即是說,它并不更改其它方式,即是說,它并不更
24、改其它lFlagslFlags不涉及到的那些不涉及到的那些標(biāo)志位的當(dāng)前值。標(biāo)志位的當(dāng)前值。 b.b. 格式二格式二: : long setf( long lFlags, long lMask );long setf( long lFlags, long lMask ); 設(shè)置指定的格式控制標(biāo)志位的值(首先將第二參數(shù)設(shè)置指定的格式控制標(biāo)志位的值(首先將第二參數(shù)lMasklMask所指定的那些位清零,而后用第一參數(shù)所指定的那些位清零,而后用第一參數(shù)lFlagslFlags所給定的值所給定的值來重置這些標(biāo)志位)。來重置這些標(biāo)志位)。 第17頁/共66頁18 例如,為保障所設(shè)置的數(shù)制標(biāo)志位不產(chǎn)生互斥,
25、當(dāng)要設(shè)例如,為保障所設(shè)置的數(shù)制標(biāo)志位不產(chǎn)生互斥,當(dāng)要設(shè)置置16進(jìn)制時(shí)使用:進(jìn)制時(shí)使用: setf(ios:hex, ios:basefield); 其中的其中的ios:basefield為一個(gè)在為一個(gè)在ios類中定義的公有靜態(tài)類中定義的公有靜態(tài)常量,它的取值為常量,它的取值為ios:dec|ios:oct|ios:hex。 同理,當(dāng)要設(shè)置對(duì)齊標(biāo)志位為同理,當(dāng)要設(shè)置對(duì)齊標(biāo)志位為ios:right以及實(shí)數(shù)格式以及實(shí)數(shù)格式標(biāo)志位為標(biāo)志位為ios:fixed,要使用:要使用: setf(ios:right, ios:adjustfield); setf(ios:fixed, ios:floatfiel
26、d); 其 中 用 到 了 公 有 靜 態(tài) 常 量其 中 用 到 了 公 有 靜 態(tài) 常 量i o s : : a d j u s t f i e l d 和和ios:floatfield。 i o s : : a d j u s t f i e l d的取值為的取值為ios:left|ios:right|ios:internal,而而ios:floatfield的取值為的取值為ios:scientific|ios:fixed。 第18頁/共66頁19 (3) ios:unsetf(3) ios:unsetf long unsetf( long lFlags );long unsetf( lo
27、ng lFlags ); 通過參數(shù)通過參數(shù)lFlagslFlags來清除指定的格式控制標(biāo)志位。來清除指定的格式控制標(biāo)志位。 (4) (4) ios:fillios:fill char fill( char cFill ); char fill( char cFill ); 將將“填充字符填充字符”設(shè)置為設(shè)置為cFill, cFill, 并返回原并返回原“填充填充字符字符”。 第19頁/共66頁20(5) ios:precision(5) ios:precision int precision( int np );int precision( int np ); 設(shè)置浮點(diǎn)數(shù)精度為設(shè)置浮點(diǎn)數(shù)精度為
28、npnp并返回原精度。當(dāng)格式為并返回原精度。當(dāng)格式為ios:scientificios:scientific或或ios:fixedios:fixed時(shí),精度時(shí),精度npnp指小數(shù)點(diǎn)后的指小數(shù)點(diǎn)后的位數(shù),否則指有效數(shù)字。位數(shù),否則指有效數(shù)字。 (6) (6) ios:widthios:width int width( int nw );int width( int nw ); 設(shè)置當(dāng)前被顯示數(shù)據(jù)的域?qū)捲O(shè)置當(dāng)前被顯示數(shù)據(jù)的域?qū)抧wnw并返回原域?qū)?。默認(rèn)并返回原域?qū)?。默認(rèn)值為值為0 0,將按實(shí)際需要的域?qū)掃M(jìn)行輸出。此設(shè)置只對(duì)隨后的,將按實(shí)際需要的域?qū)掃M(jìn)行輸出。此設(shè)置只對(duì)隨后的一個(gè)數(shù)據(jù)有效,而后系統(tǒng)立
29、刻恢復(fù)域?qū)挒橄到y(tǒng)默認(rèn)值一個(gè)數(shù)據(jù)有效,而后系統(tǒng)立刻恢復(fù)域?qū)挒橄到y(tǒng)默認(rèn)值0 0。第20頁/共66頁21 2. 2. 常用的輸入輸出格式控制符常用的輸入輸出格式控制符 可直接用于提取和插入算符可直接用于提取和插入算符(“”(“”和和“”)“”)之后,之后,而不像格式控制成員函數(shù)那樣必須被單獨(dú)調(diào)用。而不像格式控制成員函數(shù)那樣必須被單獨(dú)調(diào)用。 (1) (1) 中含有的無參格式控制符中含有的無參格式控制符( (參看參看p337)p337): . endl. endl. ends. ends. flush. flush. ws. ws. dec. dec. hex. hex. oct. oct第21頁/共6
30、6頁22 中含有的有參格式控制符中含有的有參格式控制符 . setbase( int base ) . setbase( int base ). resetiosflags( long lFlags ). resetiosflags( long lFlags ). setiosflags( long lFlags ). setiosflags( long lFlags ). setfill( char cFill ). setfill( char cFill ). setprecision( int np ). setprecision( int np ). setw( int nw ). s
31、etw( int nw )第22頁/共66頁232 2 I/OI/O格式控制示例 1. 格式控制示例一格式控制示例一 ( flags和和setf等函數(shù)的功能等函數(shù)的功能) #include void main() coutios basefield; /輸出:輸出:112 cout (ios:dec|ios:oct|ios:hex)endl; /輸出:輸出:112 coutios:adjustfield; /輸出:輸出:14 cout (ios:left|ios:right|ios:internal)endl; /輸出:輸出:14 coutios:floatfield; /輸出:輸出:6144
32、 cout (ios:scientific|ios:fixed)endl; /輸出:輸出:6144第23頁/共66頁24/flags將重新設(shè)置標(biāo)志字,將重新設(shè)置標(biāo)志字,“替換替換”方式方式 cout.flags(ios:showbase); coutcout.flags()endl; /輸出:輸出:128 cout.flags(ios:showpoint); coutcout.flags()endl; /輸出:輸出:256 cout.unsetf(ios:showpoint); coutcout.flags()endl; /輸出:輸出:0 /setf為為“添加添加”方式方式 cout.setf
33、(ios:showbase); coutcout.flags()endl; /輸出:輸出:128 cout.setf(ios:showpoint); coutcout.flags()endl; /輸出:輸出:384 cout.unsetf(ios:showpoint); coutcout.flags()endl; /輸出:輸出:128 第24頁/共66頁252. 格式控制示例二格式控制示例二 對(duì)輸出數(shù)據(jù)的寬度、精度等方面進(jìn)行設(shè)置與使用。對(duì)輸出數(shù)據(jù)的寬度、精度等方面進(jìn)行設(shè)置與使用。#include void main() cout.width(6); /只管隨后一個(gè)數(shù)的域?qū)捴还茈S后一個(gè)數(shù)的域?qū)?
34、coutsetw(6)4785setw(8)27.4272endlendl; cout.width(6);cout.precision(3); /當(dāng)格式為當(dāng)格式為ios:scientific或或ios:fixed時(shí),浮點(diǎn)數(shù)精度時(shí),浮點(diǎn)數(shù)精度 /np指小數(shù)點(diǎn)后的位數(shù),否則指有效數(shù)字指小數(shù)點(diǎn)后的位數(shù),否則指有效數(shù)字 /此時(shí)設(shè)置浮點(diǎn)數(shù)的有效數(shù)字為此時(shí)設(shè)置浮點(diǎn)數(shù)的有效數(shù)字為3cout4785setw(8)27.4272endl; 第25頁/共66頁26coutsetw(6)4785setw(8)setprecision(2)27.4272endlendl; / 4785 27 /“setprecisi
35、on(2)”設(shè)置浮點(diǎn)數(shù)的有效數(shù)字設(shè)置浮點(diǎn)數(shù)的有效數(shù)字cout.setf(ios:fixed, ios:floatfield); /今后以定點(diǎn)格式顯示浮點(diǎn)數(shù)今后以定點(diǎn)格式顯示浮點(diǎn)數(shù)(無指數(shù)部分無指數(shù)部分)cout.width(6); cout.precision(3); /當(dāng)格式為當(dāng)格式為ios:fixed時(shí),設(shè)置小數(shù)點(diǎn)后的位數(shù)時(shí),設(shè)置小數(shù)點(diǎn)后的位數(shù)cout4785setw(8)27.4272 = 讀寫操作讀寫操作 = = 關(guān)閉文件關(guān)閉文件。 第27頁/共66頁28 “打開文件打開文件”通常通過構(gòu)造函數(shù)自動(dòng)完成(也可顯式調(diào)通常通過構(gòu)造函數(shù)自動(dòng)完成(也可顯式調(diào)用成員函數(shù)用成員函數(shù)openopen完
36、成)。完成)。“關(guān)閉文件關(guān)閉文件”通常通過使用通常通過使用“.close();”close();”來顯式完成。來顯式完成。 例例1: 1: ofstream outfile1(myfile1.txt);ofstream outfile1(myfile1.txt); 創(chuàng)建創(chuàng)建ofstreamofstream類的對(duì)象類的對(duì)象outfile1outfile1;使流類對(duì)象使流類對(duì)象outfile1outfile1與磁盤文件與磁盤文件 myfile1.txtmyfile1.txt相聯(lián)系;并打開用于相聯(lián)系;并打開用于“寫寫”的磁盤的磁盤文件文件 myfile1.txtmyfile1.txt。 例例2: 2
37、: ofstream outfile1;ofstream outfile1; / /創(chuàng)建創(chuàng)建ofstreamofstream類的對(duì)象類的對(duì)象outfile1outfile1 outfile1.open(myfile1.txt); outfile1.open(myfile1.txt); / /顯式調(diào)用成員函數(shù)顯式調(diào)用成員函數(shù)openopen來打開文件來打開文件第28頁/共66頁29 二二. 與創(chuàng)建流類對(duì)象相關(guān)的三個(gè)構(gòu)造函數(shù)與創(chuàng)建流類對(duì)象相關(guān)的三個(gè)構(gòu)造函數(shù) 1. ifstream:ifstream ifstream( const char* szName, int nMode = ios:in,
38、int nProt = filebuf:openprot ); 參數(shù)參數(shù): (1) szName - 文件名;文件名; (2) nMode - 打開文件的方式。打開文件的方式。 ios:in - 以讀以讀(輸入輸入)為目的打開。為目的打開。 ios:nocreate - 僅打開一個(gè)已存在文件。僅打開一個(gè)已存在文件。 ios:binary - 打開二進(jìn)制文件。打開二進(jìn)制文件。 (3) nProt - 指定所打開文件的保護(hù)方式。指定所打開文件的保護(hù)方式。第29頁/共66頁30 2. ofstream:ofstream ofstream( const char* szName, int nMode
39、= ios:out, int nProt = filebuf:openprot ); 參數(shù)參數(shù): (1) szName - 文件名;文件名; (2) nMode - 打開文件的方式。打開文件的方式。 ios:out - 以寫以寫(輸出輸出)為目的打開文件。為目的打開文件。 ios:trunc - 若文件存在,則將文件長度截為若文件存在,則將文件長度截為0。 ios:binary - 打開二進(jìn)制文件。打開二進(jìn)制文件。 ios:app - 以追加方式打開。以追加方式打開。 . (3) nProt - 指定所打開文件的保護(hù)方式。指定所打開文件的保護(hù)方式。 第30頁/共66頁31 3. fstream
40、:fstream fstream( const char* szName, int nMode, int nProt = filebuf:openprot ); 參數(shù)含義和用法與參數(shù)含義和用法與ofstream構(gòu)造函數(shù)處相同。構(gòu)造函數(shù)處相同。 三三. 與創(chuàng)建流類對(duì)象相關(guān)的三個(gè)與創(chuàng)建流類對(duì)象相關(guān)的三個(gè)open函數(shù)函數(shù) 1. ofstream:open void open( const char* szName, int nMode = ios:out, int nProt = filebuf:openprot ); 2. ifstream:open void open( const char*
41、szName, int nMode = ios:in, int nProt = filebuf:openprot ); 3. fstream:open void open( const char* szName, int nMode, int nProt = filebuf:openprot ); 第31頁/共66頁3210.4.2 使用插入與提取與算符進(jìn)行I/O操作 - - 參看書參看書p343p343 對(duì)文件的對(duì)文件的“讀寫操作讀寫操作”通常使用預(yù)定義的通常使用預(yù)定義的類成員函數(shù)類成員函數(shù)來來實(shí)現(xiàn)(課本節(jié)介紹),但也可使用繼承而來的實(shí)現(xiàn)(課本節(jié)介紹),但也可使用繼承而來的插入和提取運(yùn)插入和
42、提取運(yùn)算符算符“”“”和和“”“”operator ”,所以,所以,ifstreamifstream流(類對(duì)象)可以使用預(yù)定義的算符流(類對(duì)象)可以使用預(yù)定義的算符“”“”來對(duì)來對(duì)自定義磁盤文件進(jìn)行自定義磁盤文件進(jìn)行“讀讀”操作(允許通過派生類對(duì)象直操作(允許通過派生類對(duì)象直接調(diào)用其基類的公有成員函數(shù));接調(diào)用其基類的公有成員函數(shù)); ofstreamofstream類由類由ostreamostream類所派生類所派生,而,而ostreamostream類中預(yù)定類中預(yù)定義了公有的運(yùn)算符義了公有的運(yùn)算符重載函數(shù)重載函數(shù)“operator ”operator ”,所以,所以,ofstreamofs
43、tream流(類對(duì)象)可以使用預(yù)定義的算符流(類對(duì)象)可以使用預(yù)定義的算符“”“”“”和和“”“”來對(duì)自定義磁盤文件來對(duì)自定義磁盤文件進(jìn)行進(jìn)行“讀讀” ” 與與“寫寫”操作。操作。 還有一點(diǎn)需要注意:使用預(yù)定義的算符還有一點(diǎn)需要注意:使用預(yù)定義的算符“”“”“”來進(jìn)行來進(jìn)行“讀讀”操操作時(shí)遇空格或換行均結(jié)束一個(gè)數(shù)據(jù)相呼應(yīng)。作時(shí)遇空格或換行均結(jié)束一個(gè)數(shù)據(jù)相呼應(yīng)。 下述下述示例程序示例程序做了如下的做了如下的3 3件事:件事:1)1) 往文件寫數(shù)據(jù);往文件寫數(shù)據(jù);2)2) 往文件尾部追加數(shù)據(jù);往文件尾部追加數(shù)據(jù); 3)3) 從文件讀出數(shù)據(jù)并顯示在從文件讀出數(shù)據(jù)并顯示在屏幕上。屏幕上。 第33頁/共
44、66頁34#include void main() /1) 往文件寫數(shù)據(jù)往文件寫數(shù)據(jù)ofstream outfile1(myfile1.txt); /以以“寫寫”方式打開方式打開outfile1Hello!.CHINA! Nankai_Universityendl; outfile1.close(); /2) 往文件尾部追加數(shù)據(jù)往文件尾部追加數(shù)據(jù) outfile1.open(myfile1.txt, ios:app); /以以“追加追加”方式打開方式打開int x=1212, y=6868;outfile1x ystr1str2; /使用使用“”讀讀(遇空格、換行均結(jié)束遇空格、換行均結(jié)束)in
45、file1x2y2;infile1.close(); 第34頁/共66頁35coutstr1=str1endl;coutstr2=str2endl;coutx2=x2endl;couty2=y2endl; 程序執(zhí)行后的顯示結(jié)果如下:程序執(zhí)行后的顯示結(jié)果如下:str1=Hello!.CHINA!str2=Nankai_Universityx2=1212y2=6868第35頁/共66頁36 4.3 使用類成員函數(shù)對(duì)文件流進(jìn)行操作1 1 類成員函數(shù)getget與putput2 2 類成員函數(shù)readread與writewrite3 3 類成員函數(shù)getlinegetline 第36
46、頁/共66頁371 1 類成員函數(shù)getget與putput- - 參看書參看書p345p345 ostream& put( char ch );ostream& put( char ch );功能:將字符功能:將字符chch寫到自定義文件中。寫到自定義文件中。 istream& get( char& rch );istream& get( char& rch );功能:從自定義文件中讀出功能:從自定義文件中讀出1 1個(gè)字符放入引用個(gè)字符放入引用rchrch中。中。 注意,注意,putput實(shí)際上只是實(shí)際上只是ostreamostream類中定義
47、的公有成員類中定義的公有成員函數(shù),當(dāng)然通過其派生類函數(shù),當(dāng)然通過其派生類ofstreamofstream的類對(duì)象也可以直接的類對(duì)象也可以直接對(duì)它進(jìn)行調(diào)用。同理,通過對(duì)它進(jìn)行調(diào)用。同理,通過ifstreamifstream的類對(duì)象可以直的類對(duì)象可以直接調(diào)用接調(diào)用getget。第37頁/共66頁38 1. 程序示例一程序示例一 從鍵盤輸入任一個(gè)字符串,通過從鍵盤輸入任一個(gè)字符串,通過put將其寫到自定義磁盤文件將其寫到自定義磁盤文件“putgetfile.txt”中,而后再使用中,而后再使用get從該文件中讀出所寫串并顯示在屏幕從該文件中讀出所寫串并顯示在屏幕上。上。 #include #incl
48、ude void main() /鍵盤輸入字符串,通過鍵盤輸入字符串,通過put將其寫到自定義磁盤文件中將其寫到自定義磁盤文件中char str80;coutInput string:endl;gets(str);ofstream fout(putgetfile.txt); int i=0;while ( stri ) fout.put(stri+); fout.close();cout-endl;第38頁/共66頁39 /而后使用而后使用get從文件中讀出該串顯示在屏幕上從文件中讀出該串顯示在屏幕上char ch;ifstream fin(putgetfile.txt); fin.get(c
49、h);while(!fin.eof() /從頭讀到文件結(jié)束從頭讀到文件結(jié)束(當(dāng)前符號(hào)非文件結(jié)束符時(shí)繼續(xù)當(dāng)前符號(hào)非文件結(jié)束符時(shí)繼續(xù)) /注注: 成員函數(shù)成員函數(shù)eof()在讀到文件結(jié)束時(shí)方返回在讀到文件結(jié)束時(shí)方返回true coutch; fin.get(ch);coutendl;fin.close(); 程序執(zhí)行后的顯示結(jié)果如下:程序執(zhí)行后的顯示結(jié)果如下:Input string:File operating - using put and get, OK! 12345-File operating - using put and get, OK! 12345第39頁/共66頁40 2. 程序
50、示例二程序示例二 - 對(duì)指定文件進(jìn)行拷貝對(duì)指定文件進(jìn)行拷貝 使用類成員函數(shù)使用類成員函數(shù)get與與put對(duì)指定文件進(jìn)行拷貝。被拷對(duì)指定文件進(jìn)行拷貝。被拷貝的貝的“源文件源文件”以及拷貝到的以及拷貝到的“目的文件目的文件”的名字與路徑的名字與路徑均由命令行參數(shù)來提供。均由命令行參數(shù)來提供。 程序執(zhí)行結(jié)果程序執(zhí)行結(jié)果(若提供的命令行參數(shù)為若提供的命令行參數(shù)為:mycopy.cpp res_1.cpp): Copy file from mycopy.cpp to res_1.cpp 程序執(zhí)行結(jié)果程序執(zhí)行結(jié)果(若提供的命令行參數(shù)個(gè)數(shù)不對(duì)時(shí)若提供的命令行參數(shù)個(gè)數(shù)不對(duì)時(shí)):ERROR ! - supply
51、ing 2 command-line argements ?!第40頁/共66頁41 #include #include void main(int argc, char* argv) if(argc!=3) /命令行參數(shù)個(gè)數(shù)不對(duì)時(shí)命令行參數(shù)個(gè)數(shù)不對(duì)時(shí) coutERROR ! - supplying 2 command-line argements ?!endl; exit (1); coutCopy file from argv1 to argv2endl; ifstream fin(argv1); /命令行參數(shù)命令行參數(shù)1作為文件名作為文件名 ofstream fout(argv2); /
52、命令行參數(shù)命令行參數(shù)2作為文件名作為文件名 char ch; fin.get(ch); while(!fin.eof() /從頭讀到文件結(jié)束從頭讀到文件結(jié)束 fout.put(ch); fin.get(ch); fin.close(); fout.close(); 第41頁/共66頁42 2 2 類成員函數(shù)readread與write write - - 參看書參看書p347p347 通常使用通常使用read與與write對(duì)二進(jìn)制文件對(duì)二進(jìn)制文件(binary file)進(jìn)行讀進(jìn)行讀寫。寫。 ostream& write( const char* pch, int nCount );
53、功能:將功能:將pch緩沖區(qū)中的前緩沖區(qū)中的前nCount個(gè)字符寫出到某個(gè)文件個(gè)字符寫出到某個(gè)文件中。中。istream& read( char* pch, int nCount ); 功能:從某個(gè)文件中讀入功能:從某個(gè)文件中讀入nCount個(gè)字符放入個(gè)字符放入pch緩沖緩沖區(qū)中(若讀至文件結(jié)束尚不足區(qū)中(若讀至文件結(jié)束尚不足nCount個(gè)字符時(shí),也將立即個(gè)字符時(shí),也將立即結(jié)束本次讀取過程)。結(jié)束本次讀取過程)。 注意:使用注意:使用write與與read進(jìn)行數(shù)據(jù)讀寫時(shí),不必要在數(shù)據(jù)進(jìn)行數(shù)據(jù)讀寫時(shí),不必要在數(shù)據(jù)間再額外間再額外“插入插入”分割符,這是因?yàn)樗鼈兌家筇峁┑诙?shí)分割符,這是
54、因?yàn)樗鼈兌家筇峁┑诙?shí)參來指定讀寫長度。參來指定讀寫長度。第42頁/共66頁43 以下的示例程序先使用以下的示例程序先使用write往自定義二進(jìn)制磁盤文往自定義二進(jìn)制磁盤文件中寫出如下件中寫出如下3個(gè)個(gè)“值值”:字符串:字符串str的長度值的長度值Len(一個(gè)正整一個(gè)正整數(shù)數(shù))、字符串、字符串str本身、以及一個(gè)結(jié)構(gòu)體的數(shù)據(jù),而后再使用本身、以及一個(gè)結(jié)構(gòu)體的數(shù)據(jù),而后再使用read讀出這些讀出這些“值值”并將它們顯示在屏幕上并將它們顯示在屏幕上。 #include #include void main() char str20=Hello world!;struct stuchar name
55、20;int age;double score; ss=wu jun, 22, 91.5; 第43頁/共66頁44 coutWRITE to wrt_read_file.binendl;ofstream fout(wrt_read_file.bin, ios:binary); /打開用于打開用于“寫寫”的二進(jìn)制磁盤文件的二進(jìn)制磁盤文件int Len=strlen(str);fout.write( (char*)(&Len), sizeof(int) ); fout.write(str, Len); /數(shù)據(jù)間無需分割符數(shù)據(jù)間無需分割符fout.write(char*)(&ss),
56、 sizeof(ss); fout.close();cout-endl;cout- READ it from wrt_read_file.bin -endl;char str280;ifstream fin(wrt_read_file.bin, ios:binary); fin.read( (char*)(&Len), sizeof(int) );fin.read(str2, Len);str2Len=0; 第44頁/共66頁45 fin.read( (char*)(&ss), sizeof(ss) ); coutLen=Lenendl; coutstr2=str2endl;
57、,ss.age,ss.scoreendl; fin.close(); cout-endl; 程序執(zhí)行后的顯示結(jié)果如下:程序執(zhí)行后的顯示結(jié)果如下:WRITE to wrt_read_file.bin- READ it from wrt_read_file.bin -Len=12str2=Hello world!-第45頁/共66頁46 最常用格式為:最常用格式為:istream& getline( char* pch, int nCount, char delim = n ); 功能:從某個(gè)文件中讀出一行功能:從某個(gè)文件中讀出一行(至多至多nCount個(gè)字符個(gè)字符)
58、放入放入pch緩沖區(qū)中,缺省行結(jié)束符為緩沖區(qū)中,缺省行結(jié)束符為n。 程序?qū)嵗绦驅(qū)嵗? 讀出讀出“getline_1.cpp”的各行并顯示在屏幕上(如,可的各行并顯示在屏幕上(如,可將本源程序存放在將本源程序存放在“getline_1.cpp“文件中)。文件中)。 3 3 類成員函數(shù)getline getline -參看課本參看課本p349 p349 第46頁/共66頁47 #include void main() char line81; ifstream infile(“getline_1.cpp”); /打開文件用于讀打開文件用于讀 infile.getline(line, 80); /
59、讀出一行讀出一行(至多至多80個(gè)字符個(gè)字符)放入放入line中中 while(!infile.eof() /尚未讀到文件結(jié)束則繼續(xù)循環(huán)尚未讀到文件結(jié)束則繼續(xù)循環(huán)(處理處理) coutlineendl; /顯示在屏幕上顯示在屏幕上 infile.getline(line,80); /再讀一行再讀一行 infile.close();第47頁/共66頁48 10.5 text文件與文件與binary文件文件- 10.6.1 按用戶設(shè)置的文件形式進(jìn)行讀寫按用戶設(shè)置的文件形式進(jìn)行讀寫 * 以以text形式存儲(chǔ)形式存儲(chǔ),優(yōu)點(diǎn)優(yōu)點(diǎn)是具有較高的兼容性。是具有較高的兼容性。缺點(diǎn)缺點(diǎn)是存儲(chǔ)一批純數(shù)值信息時(shí),要在數(shù)
60、據(jù)之間人為地添加分是存儲(chǔ)一批純數(shù)值信息時(shí),要在數(shù)據(jù)之間人為地添加分割符;輸入輸出過程中,系統(tǒng)要對(duì)內(nèi)外存的數(shù)據(jù)格式進(jìn)割符;輸入輸出過程中,系統(tǒng)要對(duì)內(nèi)外存的數(shù)據(jù)格式進(jìn)行相應(yīng)轉(zhuǎn)換;另外行相應(yīng)轉(zhuǎn)換;另外text文件不便于對(duì)數(shù)據(jù)實(shí)行隨機(jī)訪問。文件不便于對(duì)數(shù)據(jù)實(shí)行隨機(jī)訪問。第48頁/共66頁49 * * 以以binarybinary形式存儲(chǔ)形式存儲(chǔ),優(yōu)點(diǎn)優(yōu)點(diǎn)是便于對(duì)數(shù)據(jù)實(shí)行隨機(jī)是便于對(duì)數(shù)據(jù)實(shí)行隨機(jī)訪問(每一同類型數(shù)據(jù)所占磁盤空間的大小均相同,不必訪問(每一同類型數(shù)據(jù)所占磁盤空間的大小均相同,不必在數(shù)據(jù)之間人為地添加分割符);輸入輸出過程中,系統(tǒng)在數(shù)據(jù)之間人為地添加分割符);輸入輸出過程中,系統(tǒng)不對(duì)數(shù)據(jù)進(jìn)行任何轉(zhuǎn)換。不對(duì)數(shù)據(jù)進(jìn)行任何轉(zhuǎn)換。缺點(diǎn)缺點(diǎn)是兼容性低。是兼容性低。 注:由程序員決定將數(shù)據(jù)存儲(chǔ)為注:由程序員決定將數(shù)據(jù)存儲(chǔ)為texttext文件或者文件或者binarybinary文文件兩種形式之一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年四川綿陽市游仙區(qū)人力資源和社會(huì)保障局事業(yè)單位招聘工作人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年江蘇省無錫宜興事業(yè)單位招聘91人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川省廣元市昭化區(qū)部分事業(yè)單位考試招聘15人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 金融服務(wù)解決方案招投標(biāo)模板
- 棚戶區(qū)管網(wǎng)改造工程合同
- 寵物行業(yè)招投標(biāo)管理規(guī)定
- 大數(shù)據(jù)平臺(tái)建設(shè)項(xiàng)目招投標(biāo)協(xié)議
- 高速公路服務(wù)區(qū)停電應(yīng)急預(yù)案
- 2024南坊公務(wù)員樓房買賣合同含附屬設(shè)施裝修及車位購買優(yōu)惠3篇
- 2024年度二零二四年創(chuàng)業(yè)投資輔導(dǎo)與融資服務(wù)合同3篇
- 期末試題-2024-2025學(xué)年人教PEP版英語六年級(jí)上冊(cè) (含答案)
- 2020年甘肅公務(wù)員考試申論試題(省級(jí)卷)
- 海南省??谑邪四昙?jí)物理上學(xué)期期末考試試題
- 2024年煙草知識(shí)考試題庫
- 病例報(bào)告表(樣板)
- 常州大學(xué)《數(shù)據(jù)采集與清洗》2021-2022學(xué)年期末試卷
- 餐飲服務(wù)電子教案 學(xué)習(xí)任務(wù)4 雞尾酒調(diào)制
- 定金協(xié)議書范文范本簡單一點(diǎn)
- 幼兒園教育活動(dòng)設(shè)計(jì)與指導(dǎo)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024秋期國家開放大學(xué)《政治學(xué)原理》一平臺(tái)在線形考(形考任務(wù)四)試題及答案
- TSG51-2023起重機(jī)械安全技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論