版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第11章文件及其應(yīng)用鹽城第11章文件及其應(yīng)用11.1文件的引入11.2文件的打開與關(guān)閉11.3文件的順序讀寫11.4文件的隨機(jī)讀寫11.5文件應(yīng)用舉例11.1文件的引入前面所學(xué)的程序中用到的輸入和輸出都只涉及到鍵盤和顯示器。在運(yùn)行C程序時(shí),通過鍵盤輸入數(shù)據(jù),并借助顯示器把程序的運(yùn)算結(jié)果顯示出來,并不能保存相關(guān)數(shù)據(jù)。但是,計(jì)算機(jī)作為一種先進(jìn)的數(shù)據(jù)處理工具,它所面對的數(shù)據(jù)信息量十分龐大,僅依賴于鍵盤輸入和顯示輸出等方式是遠(yuǎn)遠(yuǎn)不夠的。【引例】對一個(gè)班級學(xué)生成績進(jìn)行處理,包括學(xué)生信息的多次輸入與修改、處理、輸出等。問題分析:
本例要求多次對學(xué)生的信息輸入,如果每次都是從鍵盤輸入這些成批的數(shù)據(jù),一方面數(shù)據(jù)輸入的工作量大,另一方面很容易產(chǎn)生差錯(cuò)。因此,要解決這一類問題,就必須采用數(shù)據(jù)文件的方法來處理。11.1.1問題與引例11.1文件的引入1.文件的概念“文件”—是指一組相關(guān)數(shù)據(jù)的有序集合。這個(gè)數(shù)據(jù)集有一個(gè)名稱,叫做文件名。當(dāng)有大量數(shù)據(jù)輸入時(shí),通過編輯工具可以事先建立輸入數(shù)據(jù)文件,程序運(yùn)行時(shí)從指定的文件中讀取數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)“一次輸入,多次使用”的效果。同樣,當(dāng)有大量數(shù)據(jù)輸出時(shí),也可將其輸出到指定文件,供隨時(shí)查看。11.1.2文件的基本概念2.文件的類型在程序設(shè)計(jì)中,主要用到兩種類型的文件:程序文件和數(shù)據(jù)文件。程序文件:包括源程序文件(后綴為.c)、目標(biāo)文件(后綴為.obj)、可執(zhí)行文件(后綴為.exe)等。這種文件的內(nèi)容是程序代碼。數(shù)據(jù)文件:文件的內(nèi)容不是程序,而是供程序運(yùn)行時(shí)讀寫的數(shù)據(jù),如在程序運(yùn)行過程中輸出到磁盤(或其他外部設(shè)備)的數(shù)據(jù),或在程序運(yùn)行過程中供讀入的數(shù)據(jù)。如一批學(xué)生的成績數(shù)據(jù),或貨物交易的數(shù)據(jù)等。11.1.2文件的基本概念2.文件的類型C語言程序把文件分為ASCII文件和二進(jìn)制文件。ASCII文件又稱文本文件,每一個(gè)字節(jié)存放一個(gè)字符的ASCII碼,便于對字符進(jìn)行逐個(gè)處理,但一般占用存儲(chǔ)空間較多;二進(jìn)制文件中的數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存儲(chǔ)的,占用存儲(chǔ)空間較少。11.1.2文件的基本概念2.文件的類型字符一律以ASCII形式存儲(chǔ)數(shù)值型數(shù)據(jù)既可以用ASCII形式存儲(chǔ),也可以用二進(jìn)制形式存儲(chǔ)如有整數(shù)10000,如果用ASCII碼形式輸出到磁盤,則在磁盤中占5個(gè)字節(jié)(每一個(gè)字符占一個(gè)字節(jié)),而用二進(jìn)制形式輸出,則在磁盤上只占4個(gè)字節(jié)(用VC++時(shí))11.1.2文件的基本概念0011100100111000001110000011100000111000(1)(0)(0)(0)(0)ASCII形式00000000000000000011011100011000二進(jìn)制形式(10000)數(shù)據(jù)的存儲(chǔ):以10000為例來說明11.1.2文件的基本概念3.文件的讀寫輸入輸出是數(shù)據(jù)傳送的過程,數(shù)據(jù)如流水一樣從一處流向另一處,因此常將輸入輸出形象地稱為流(stream),即數(shù)據(jù)流。流表示了信息從源到目的端的流動(dòng)。在程序中,當(dāng)調(diào)用輸入函數(shù)從文件中輸入數(shù)據(jù)賦給程序中的變量時(shí),這種操作稱為“輸入”或“讀”;當(dāng)調(diào)用輸出函數(shù)把程序中的變量的值輸出到文件中時(shí),這種操作稱為“輸出”或“寫”。11.1.2文件的基本概念4.文件的存取方式文件輸入輸出方式也稱“存取方式”。C語言中,文件有兩種存取方式:順序存取和直接存取(也叫隨機(jī)存?。m樞虼嫒∥募奶攸c(diǎn)是:每當(dāng)“打開”文件進(jìn)行讀或?qū)懖僮鲿r(shí),總是從文件的開頭開始,從頭到尾順序地讀/寫;直接(隨機(jī))存取文件的特點(diǎn)是:可以通過C語言的庫函數(shù)去指定開始讀/寫的字節(jié)號,然后直接對此位置上的數(shù)據(jù)進(jìn)行讀/寫操作。11.1.2文件的基本概念在C語言中用一個(gè)指針變量指向一個(gè)文件,這個(gè)指針稱為文件指針,通過文件指針就可對它所指的文件進(jìn)行各種操作。定義文件指針的一般形式:FILE*指針變量名;
如:FILE*fp;
表示fp是指向FILE結(jié)構(gòu)的指針變量,通過fp即可找到存放某個(gè)文件信息的結(jié)構(gòu)變量,然后按結(jié)構(gòu)變量提供的信息找到該文件,實(shí)施對該文件的操作。11.1.3文件指針聲明FILE結(jié)構(gòu)體類型的信息包含在頭文件“stdio.h”中一般設(shè)置一個(gè)指向FILE類型變量的指針變量,然后通過它來引用這些FILE類型變量11.1.3文件指針FILE
*fp1,*fp2,*fp3;文件f1的文件信息區(qū)fp1文件f2的文件信息區(qū)fp2文件f3的文件信息區(qū)fp311.1.3文件指針11.2.1文件的打開對文件讀寫之前應(yīng)該“打開”該文件,在使用結(jié)束之后應(yīng)“關(guān)閉”該文件。所謂打開文件,實(shí)際上是建立文件的各種有關(guān)信息,并使文件指針指向該文件,以便進(jìn)行其它操作。關(guān)閉文件則斷開指針與文件之間的聯(lián)系,也就是禁止再對該文件進(jìn)行操作。11.2文件的打開與關(guān)閉
C語言中文件操作都是由庫函數(shù)來完成的。下面介紹主要的文件操作函數(shù)。1.文件的打開在編寫程序時(shí),在打開文件的同時(shí),一般都指定一個(gè)指針變量指向該文件,也就是建立起指針變量與文件之間的聯(lián)系,這樣就可以通過該指針變量對文件進(jìn)行讀寫FILE*fp;11.2.1文件的打開1.文件的打開文件的打開使用fopen函數(shù),其調(diào)用的一般形式:
文件指針名=fopen(文件名,使用文件方式);其中:“文件指針名”必須是被說明為FILE類型的指針變量;“文件名”是被打開文件的數(shù)據(jù)文件名,是字符串常量或字符串?dāng)?shù)組;“使用文件方式”是指文件的類型和操作要求。11.2.1文件的打開1.文件的打開通常將fopen函數(shù)的返回值賦給一個(gè)指向文件的指針變量。如:FILE*fp;fp=fopen(”a1”,”r”);其意義是在當(dāng)前文件夾下打開文件a1,只允許進(jìn)行“讀”操作,并使fp指向該文件11.2.1文件的打開1.文件的打開在打開一個(gè)文件時(shí),通知C編譯系統(tǒng)以下3個(gè)信息:①需要訪問的文件的名字②使用文件的方式(“讀”還是“寫”等)③讓哪一個(gè)指針變量指向被打開的文件使用文件方式參見下表11.2.1文件的打開文件使用方式
意義"r"只讀打開一個(gè)文本文件,只允許讀數(shù)據(jù)"w"只寫打開或建立一個(gè)文本文件,只允許寫數(shù)據(jù)"a"追加打開一個(gè)文本文件,并在文件末尾寫數(shù)據(jù)"rb"只讀打開一個(gè)二進(jìn)制文件,只允許讀數(shù)據(jù)"wb"只寫打開或建立一個(gè)二進(jìn)制文件,只允許寫數(shù)據(jù)"ab"追加打開一個(gè)二進(jìn)制文件,并在文件末尾寫數(shù)據(jù)"r+"讀寫打開一個(gè)文本文件,允許讀和寫"w+"讀寫打開或建立一個(gè)文本文件,允許讀寫"a+"讀寫打開一個(gè)文本文件,允許讀,或在文件末追加數(shù)據(jù)"rb+"讀寫打開一個(gè)二進(jìn)制文件,允許讀和寫"wb+"讀寫打開或建立一個(gè)二進(jìn)制文件,允許讀和寫"ab+"讀寫打開一個(gè)二進(jìn)制文件,允許讀,或在文件末追加數(shù)據(jù)2.文件使用方式的說明(1)文件使用方式由r,w,a,b,+五個(gè)字符拼成,含義:r(read):讀w(write):寫a(append):追加b(inary):二進(jìn)制文件+:讀和寫(2)凡用“r”方式打開一個(gè)文件時(shí),該文件必須已經(jīng)存在,且只能從該文件讀出。11.2.1文件的打開2.文件使用方式的說明(3)用"w"打開的文件只能向該文件寫入。若打開的文件不存在,則以指定的文件名建立該文件,若打開的文件已經(jīng)存在,則將該文件刪去,重建一個(gè)新文件。(4)若要向一個(gè)已存在的文件追加新的信息,只能用"a"方式打開文件。但此時(shí)該文件必須是存在的,否則將會(huì)出錯(cuò)。(5)在打開一個(gè)文件時(shí),如果出錯(cuò),fopen將返回一個(gè)空指針值NULL。11.2.1文件的打開文件使用后,應(yīng)及時(shí)將文件關(guān)閉,以避免文件的數(shù)據(jù)丟失等錯(cuò)誤。關(guān)閉文件用fclose函數(shù)。fclose函數(shù)調(diào)用的一般形式為:fclose(文件指針);
例如:fclose(fp);正常完成關(guān)閉文件操作時(shí),fclose函數(shù)返回值為0。如果返回非零值,則表示有錯(cuò)誤發(fā)生11.2.2文件的關(guān)閉11.3文件的順序讀寫對文件的讀和寫是最常用的文件操作。文件的順序讀(或?qū)?操作總是從文件的開頭開始,從頭到尾順序地讀(或?qū)?。在C語言中提供了多種用于文件讀寫的函數(shù):字符讀寫函數(shù)(fgetc和fputc)、字符串讀寫函數(shù)(fgets和fputs)、數(shù)據(jù)塊讀寫函數(shù)(fread和fwrite)、格式化讀寫函數(shù)(fscanf和fprinf)。注意:使用以上函數(shù)都要求包含頭文件stdio.h。函數(shù)名調(diào)用形式功能返回值fgetcch=fgetc(fp)從fp指向的文件讀入一個(gè)字符讀成功,帶回所讀的字符,失敗則返回文件結(jié)束標(biāo)志EOF(即-1)fputcfputc(ch,fp)把字符ch寫到文件指針變量fp所指向的文件中寫成功,返回值就是輸出的字符;輸出失敗,則返回EOF(即-1)讀寫字符函數(shù)——fgetc(),fputc()11.3.1字符讀寫字符讀寫函數(shù)是以字符(字節(jié))為單位的讀寫函數(shù)。每次可從文件讀出或向文件寫入一個(gè)字符。包含fgetc(),fputc()兩個(gè)函數(shù)。1.讀字符函數(shù)fgetcfgetc函數(shù)的功能是從指定的文件中讀一個(gè)字符。
函數(shù)調(diào)用的形式為:字符變量=fgetc(文件指針);例如:ch=fgetc(fp);//從打開的文件fp中讀取一個(gè)字符并送入ch中。11.3.1字符讀寫幾點(diǎn)說明:(1)在fgetc函數(shù)調(diào)用中,讀取的文件必須是以讀或讀寫方式打開的。(2)讀取字符的結(jié)果也可以不向字符變量賦值。例如:fgetc(fp);但是讀出的字符不能保存。(3)在文件內(nèi)部有一個(gè)位置指針,用來指向文件的當(dāng)前讀寫字節(jié),在文件打開時(shí),該指針總是指向文件的第一個(gè)字節(jié)。(4)feof()函數(shù)可以檢查文件讀寫位置標(biāo)記是否已經(jīng)到文件尾,如果到文件尾,函數(shù)返回值為1,否則為011.3.1字符讀寫【例11.1】讀入文件c1.txt,在屏幕上輸出。#include<stdio.h>voidmain(){FILE*fp;charch;if((fp=fopen("d:\\ccxsj\\example\\c1.txt","r"))==NULL){printf("\nCannotopenanykeyexit!");getch();exit(1);}ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fclose(fp);}2.寫字符函數(shù)fputcfputc函數(shù)的功能是把一個(gè)字符寫入指定的文件中,函數(shù)調(diào)用的形式為:fputc(字符,文件指針);其中,待寫入的字符量可以是字符常量或變量,例如:fputc('a',fp);其意義是把字符'a'寫入fp所指向的文件中。11.3.1字符讀寫幾點(diǎn)說明:(1)被寫入的文件可以用寫、讀寫、追加方式打開,用寫或讀寫方式打開一個(gè)已存在的文件時(shí)將清除原有的文件內(nèi)容,寫入字符從文件首開始。如需保留原有文件內(nèi)容,希望寫入的字符以文件末開始存放,必須以追加方式打開文件。文件若不存在,創(chuàng)建該文件。(2)每寫入一個(gè)字符,文件內(nèi)部位置指針向后移動(dòng)一個(gè)字節(jié)。(3)fputc函數(shù)有一個(gè)返回值,如果寫入成功則返回寫入的字符,否則返回一個(gè)EOF。11.3.1字符讀寫【例11.2】從鍵盤輸入一行字符,寫入一個(gè)文件,再把該文件內(nèi)容讀出顯示在屏幕上。#include<stdio.h>voidmain(){FILE*fp;charch;if((fp=fopen("d:\\ccxsj\\example\\string","w+"))==NULL){printf(“不能打開,按任意鍵退出!");getch();exit(1);}printf("inputastring:\n");ch=getchar();while(ch!='\n'){fputc(ch,fp);ch=getchar();}rewind(fp);ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}printf("\n");
fclose(fp);}
【例11.3】
將一個(gè)磁盤文件中的信息復(fù)制到另一個(gè)磁盤文件中。要求將已經(jīng)建立的文件中的內(nèi)容復(fù)制到另一個(gè)磁盤文件中。解題思路:處理此問題的算法是:從文件中逐個(gè)讀入字符,然后逐個(gè)輸出到中。#include<stdio.h>#include<stdlib.h>voidmain(){FILE*in,*out;charch,in],out];printf("輸入讀入文件的名字:");scanf("%s",infile);printf("輸入輸出文件的名字:");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){printf("無法打開此文件\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){printf("無法打開此文件\n");exit(0);}改為rb和wb,則復(fù)制一個(gè)二進(jìn)制文件改為rb和wb,則復(fù)制一個(gè)二進(jìn)制文件while(!feof(in)){ch=fgetc(in);
fputc(ch,out);putchar(ch);}putchar(11);fclose(in);fclose(out);}檢查當(dāng)前讀寫位置是否移到文件末尾讀寫字符串函數(shù)--fgets(),fputs()函數(shù)名調(diào)用形式功能返回值fgetsfgets(str,n,fp)從fp指向的文件讀入長度為(n-1)的字符串,存放到字符數(shù)組str中讀成功,返回地址str,失敗則返回NULL)fputsfputs(str,fp)str所指向的字符串寫到文件指針變量fp所指向的文件中寫成功,返回0;否則返回非0值11.3.2字符串讀寫1.讀字符串函數(shù)fgets函數(shù)的功能是從指定的文件中讀一個(gè)字符串到字符數(shù)組中,函數(shù)調(diào)用的形式為:fgets(字符數(shù)組名,n,文件指針);其中:n是一個(gè)正整數(shù),表示從文件中讀出的字符串不超過n-1個(gè)字符。在讀入的最后一個(gè)字符后加上串結(jié)束標(biāo)志'\0'。例如:fgets(str,n,fp);其意義是從fp所指的文件中讀出n-1個(gè)字符送入字符數(shù)組str中。11.3.2字符串讀寫#include<stdio.h>voidmain(){FILE*fp;charstr[11];if((fp=fopen("d:\string.txt","r"))==NULL){……//若文件不存在,輸出提示信息,返回}
fgets(str,11,fp);
//從文件fp中讀10個(gè)字符printf("\n%s\n",str);fclose(fp);}【例11.4】從文件中讀入一個(gè)含10個(gè)字符的字符串。2.寫字符串函數(shù)fputsfputs函數(shù)的功能是向指定的文件寫入一個(gè)字符串,其調(diào)用形式:
fputs(字符串,文件指針);其中:字符串可以是字符串常量,也可以是字符數(shù)組名,或指針變量。
例如:fputs("abcd",fp);其意義是把字符串"abcd"寫入fp所指的文件之中。11.3.2字符串讀寫分析下列部分代碼的功能:scanf("%s",st);fputs(st,fp);rewind(fp);ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}//從鍵盤讀取一個(gè)字符串給st//將字符串st里的內(nèi)容寫到文件中//將文件內(nèi)部位置指針移動(dòng)文件首部//從文件中一次讀取一個(gè)字符//從文件中一次讀取一個(gè)字符//若不在文件尾【例11.5】在例11.2中建立的文件string中追加一個(gè)字符串。#include<stdio.h>voidmain(){FILE*fp;charch,st[20];if((fp=fopen("string","a+"))==NULL){printf("Cannotopenanykeyexit!");getch();exit(1);}printf("inputastring:\n");scanf("%s",st);fputs(st,fp);rewind(fp);ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}printf("\n");fclose(fp);}數(shù)據(jù)塊讀寫函數(shù)—fread(),fwrite()
數(shù)據(jù)塊讀寫函數(shù)可用來讀寫一組數(shù)據(jù),如一個(gè)數(shù)組元素,一個(gè)結(jié)構(gòu)變量的值等。
讀數(shù)據(jù)塊函數(shù)調(diào)用的一般形式為:fread(buffer,size,count,fp);
寫數(shù)據(jù)塊函數(shù)調(diào)用的一般形式為:fwrite(buffer,size,count,fp);其中:buffer是一個(gè)指針,在fread函數(shù)中,它表示存放輸入數(shù)據(jù)的首地址。在fwrite函數(shù)中,它表示存放輸出數(shù)據(jù)的首地址;size表示數(shù)據(jù)塊的字節(jié)數(shù);count表示要讀寫的數(shù)據(jù)塊塊數(shù);fp表示文件指針。11.3.3數(shù)據(jù)塊讀寫例如:fread(fa,4,5,fp);其意義是從fp所指的文件中,每次讀4個(gè)字節(jié)(一個(gè)實(shí)數(shù))送入實(shí)型數(shù)組fa中,連續(xù)讀5次,即讀5個(gè)實(shí)數(shù)到fa中。
11.3.3數(shù)據(jù)塊讀寫【例11.6】從鍵盤輸入兩個(gè)學(xué)生的數(shù)據(jù),并寫入一個(gè)文件中,再讀出這兩個(gè)學(xué)生的數(shù)據(jù)顯示在屏幕上。程序分析:定義一個(gè)結(jié)構(gòu)體類型student,并聲明兩個(gè)結(jié)構(gòu)數(shù)組boya和boyb以及兩個(gè)結(jié)構(gòu)指針變量pp和qq。pp指向boya,qq指向boyb。以讀寫方式打開二進(jìn)制文件“stu_list”,輸入2個(gè)學(xué)生的數(shù)據(jù)之后,寫入該文件中,然后把文件內(nèi)部位置指針移到文件首,讀出兩塊學(xué)生數(shù)據(jù)后,在屏幕上顯示。11.3.3數(shù)據(jù)塊讀寫#include<stdio.h>structstudent{charname[10];intnum;intage;charaddr[15];}boya[2],boyb[2],*pp,*qq;11.3.3數(shù)據(jù)塊讀寫voidmain(){FILE*fp;
charch;inti;pp=boya;
qq=boyb;if((fp=fopen("d:\st1","wb+"))==NULL){printf("Cannotopenanykeyexit!");getch();exit(1);}printf("\ninputdata\n");for(i=0;i<2;i++,pp++)scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);pp=boya;fwrite(pp,sizeof(structstu),2,fp);rewind(fp);fread(qq,sizeof(structstu),2,fp);printf("\n\nname\tnumberageaddr\n");for(i=0;i<2;i++,qq++)printf("%s\t%5d%7d%s\n",qq->name,qq->num,qq->age,qq->addr);fclose(fp);}11.3.3數(shù)據(jù)塊讀寫fscanf()函數(shù)、fprintf()函數(shù)與前面使用的scanf()和printf()函數(shù)的功能相似,都是格式化讀寫函數(shù)。
兩者的區(qū)別在于fscanf()函數(shù)和fprintf()函數(shù)的讀寫對象不是鍵盤和顯示器,而是磁盤文件。
11.3.4格式化讀寫一般調(diào)用方式為:fprintf(文件指針,格式字符串,輸出表列);
fscanf(文件指針,格式字符串,輸入表列);如:fprintf(fp,”%d,%6.2f”,i,f);fscanf(fp,”%d,%f”,&i,&f);
11.3.4格式化讀寫pp=boya;for(i=0;i<2;i++,pp++)fprintf(fp,"%s%d%d%s\n",pp->name,pp->num,pp->age,pp->addr);rewind(fp);for(i=0;i<2;i++,qq++)fscanf(fp,"%s%d%d%s\n",qq->name,&qq->num,&qq->age,qq->addr);11.3.4格式化讀寫11.4文件的隨機(jī)讀寫對文件進(jìn)行順序讀寫比較容易理解,也容易操作,但有時(shí)效率不高隨機(jī)訪問不是按數(shù)據(jù)在文件中的物理位置次序進(jìn)行讀寫,而是可以對任何位置上的數(shù)據(jù)進(jìn)行訪問,顯然這種方法比順序訪問效率高得多11.4.1位置指針復(fù)位
實(shí)現(xiàn)隨機(jī)讀寫的關(guān)鍵是要按要求移動(dòng)位置指針,這稱為文件的定位。
移動(dòng)文件內(nèi)部位置指針的函數(shù)主要有兩個(gè),即rewind函數(shù)和fseek函數(shù)。
其調(diào)用形式為:rewind(文件指針);它的功能是把文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版公司承包合同參考范本
- 2025別墅裝修工程現(xiàn)場清理與勞務(wù)分包合同3篇
- 2025年度文化旅游綜合體承包設(shè)計(jì)工程合同4篇
- 2025年度書房軟裝承接合同樣本12篇
- 非計(jì)劃性拔管相關(guān)知識(shí)考核試題
- 2024版特許經(jīng)營協(xié)議:快餐連鎖品牌授權(quán)
- 2025年農(nóng)業(yè)大棚租賃與農(nóng)業(yè)產(chǎn)業(yè)園區(qū)建設(shè)合同4篇
- 2025年度新型城鎮(zhèn)化代付工程款三方協(xié)議4篇
- 2025年度合同封面定制與知識(shí)產(chǎn)權(quán)戰(zhàn)略布局合同3篇
- 2025年度水庫魚塘漁業(yè)養(yǎng)殖與市場拓展承包合同3篇
- CT設(shè)備維保服務(wù)售后服務(wù)方案
- 重癥血液凈化血管通路的建立與應(yīng)用中國專家共識(shí)(2023版)
- 兒科課件:急性細(xì)菌性腦膜炎
- 柜類家具結(jié)構(gòu)設(shè)計(jì)課件
- 陶瓷瓷磚企業(yè)(陶瓷廠)全套安全生產(chǎn)操作規(guī)程
- 煤炭運(yùn)輸安全保障措施提升運(yùn)輸安全保障措施
- JTGT-3833-2018-公路工程機(jī)械臺(tái)班費(fèi)用定額
- 保安巡邏線路圖
- (完整版)聚乙烯課件
- 建筑垃圾資源化綜合利用項(xiàng)目可行性實(shí)施方案
- 大華基線解碼器解碼上墻的操作
評論
0/150
提交評論