版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
會計學(xué)1c語言學(xué)習(xí)c語言第12章12.1C語言文件概述1.文件與文件名
文件是指存放在外部存儲介質(zhì)上的數(shù)據(jù)集合。為標(biāo)識一個文件,每個文件都必須有一個文件名,其一般結(jié)構(gòu)為:主文件名[.擴(kuò)展名]
文件命名規(guī)則,遵循操作系統(tǒng)的約定。2.文件分類可以從不同的角度對文件進(jìn)行分類:(1)根據(jù)文件的內(nèi)容,可分為程序文件和數(shù)據(jù)文件,程序文件又可分為源文件、目標(biāo)文件和可執(zhí)行文件。(2)根據(jù)文件的組織形式,可分為順序存取文件和隨機(jī)存取文件。12.1.1文件的概念及分類
第1頁/共41頁(3)根據(jù)文件的存儲形式,可分為ASCII碼文件和二進(jìn)制文件。
ASCII碼文件的每1個字節(jié)存儲1個字符,因而便于對字符進(jìn)行逐個處理。但一般占用存儲空間較多,而且要花費轉(zhuǎn)換時間(二進(jìn)制與ASCII碼之間的轉(zhuǎn)換)。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù),原樣輸出到磁盤文件中??梢怨?jié)省存儲空間和轉(zhuǎn)換時間,但1個字節(jié)并不對應(yīng)1個字符,不能直接輸出字符形式。第2頁/共41頁12.1.2文件的操作流程
通過程序?qū)ξ募M(jìn)行操作,達(dá)到從文件中讀數(shù)據(jù)或向文件中寫數(shù)據(jù)的目的,涉及到的操作有:建立文件、打開文件、從文件中讀數(shù)或向文件中寫數(shù)、關(guān)閉文件等。一般遵循的步驟為: (1)建立/打開文件 (2)從文件讀取數(shù)據(jù)或向文件寫數(shù)據(jù)。 (3)關(guān)閉文件第3頁/共41頁
打開文件是進(jìn)行文件讀寫操作之前的必要步驟。打開文件就是將指定的文件與程序聯(lián)系起來,為下面進(jìn)行的文件讀寫做好準(zhǔn)備。當(dāng)為進(jìn)行寫操作而打開一個文件時,如果這個文件不存在,則系統(tǒng)會建立這個文件,并打開它。當(dāng)為進(jìn)行讀操作而打開一個文件時,文件應(yīng)該是已經(jīng)存在的,否則會出錯。所謂讀文件是指,將磁盤文件中的數(shù)據(jù)傳送到計算機(jī)內(nèi)存的操作。所謂寫文件是指,從計算機(jī)內(nèi)存向磁盤文件中傳送數(shù)據(jù)的操作。關(guān)閉文件就是取消程序與指定的數(shù)據(jù)文件之間的聯(lián)系,表示文件操作的結(jié)束。第4頁/共41頁所謂緩沖文件系統(tǒng)是指,系統(tǒng)自動地在內(nèi)存區(qū)為每個正在使用的文件開辟一個緩沖區(qū)。從內(nèi)存向磁盤輸出數(shù)據(jù)時,必須首先輸出到緩沖區(qū)中。待緩沖區(qū)裝滿后,再一起輸出到磁盤文件中。從磁盤文件向內(nèi)存讀入數(shù)據(jù)時,則正好相反:首先將一批數(shù)據(jù)讀入到緩沖區(qū)中,再從緩沖區(qū)中將數(shù)據(jù)逐個送到程序數(shù)據(jù)區(qū)。12.1.3緩沖文件系統(tǒng)與非緩沖文件系統(tǒng)
1.緩沖文件系統(tǒng)
第5頁/共41頁所謂“非緩沖文件系統(tǒng)”是指系統(tǒng)不自動開辟確定大小的緩沖區(qū),而由程序為每個文件設(shè)定緩沖區(qū)。非緩沖文件系統(tǒng)依賴于操作系統(tǒng),通過操作系統(tǒng)的功能對文件進(jìn)行讀寫,是系統(tǒng)級的輸入輸出,它不設(shè)文件結(jié)構(gòu)體指針,只能讀寫二進(jìn)制文件,但效率高、速度快。在過去使用的C版本(如UNIX系統(tǒng)下使用的C)支持上述兩種對文件處理的方法,但是ANSIC標(biāo)準(zhǔn)不再包括非緩沖文件系統(tǒng),因此建議大家最好不要選擇它。
2.非緩沖文件系統(tǒng)
第6頁/共41頁12.1.4文件指針
ANSIC為每個被使用的文件在內(nèi)存開辟一塊用于存放上述信息的小區(qū),利用一個結(jié)構(gòu)體類型的變量存放。該變量的結(jié)構(gòu)體類型由系統(tǒng)取名為FILE,在頭文件stdio.h中定義如下:typedefstruct{shortlevel;/*緩沖區(qū)“滿”或“空”的程度*/unsignedflages;/*文件狀態(tài)標(biāo)志*/charfd;/*文件描述符*/unsignedcharhold;/*如無緩沖區(qū)不讀取字符*/shortbsize;/*緩沖區(qū)的大小*/unsignedchar*baffer;/*緩沖區(qū)的讀寫位置*/unsignedchar*curp;/*文件讀寫位置*/unsignedistemp;/*臨時文件,指示器*/shorttoken;/*用于有效性的檢查*/}FILE;
第7頁/共41頁在操作文件以前,應(yīng)先定義文件類型的指針,定義的一般格式:FILE*指針變量標(biāo)識符例如:FILE*fp1,*fp2;
按照上面的定義,fp1和fp2均為指向結(jié)構(gòu)體類型的指針變量,分別指向一個可操作的文件,換句話說,一個文件有一個文件類型指針,今后對文件的訪問,會轉(zhuǎn)化為針對文件類型指針的操作。第8頁/共41頁12.2文件的打開與關(guān)閉12.2.1文件的打開──fopen()函數(shù)
1.用法:FILE*fopen(“文件名”,“操作方式”);
2.功能:返回一個指向指定文件的指針。
3.函數(shù)原型:stdio.h。
注:對文件操作的庫函數(shù),函數(shù)原型均在頭文件stdio.h中。后續(xù)函數(shù)不再贅述。
對文件進(jìn)行操作之前,必須先打開該文件;使用結(jié)束后,應(yīng)立即關(guān)閉,以免數(shù)據(jù)丟失。C語言規(guī)定了標(biāo)準(zhǔn)輸入輸出函數(shù)庫,用fopen()函數(shù)打開一個文件,用fclose()函數(shù)關(guān)閉一個文件。第9頁/共41頁(1)“文件名”是指要打開(或創(chuàng)建)的文件名。如果使用字符數(shù)組(或字符指針),則不使用雙引號。(2)“操作方式”如表12-2所示。例如,F(xiàn)ILE*fp;fp=fopen("data.99","r");3.說明(1)如果不能實現(xiàn)打開指定文件的操作,則fopen()函數(shù)返回一個空指針NULL(其值在頭文件stdio.h中被定義為0)。為增強(qiáng)程序的可靠性,常用下面的方法打開一個文件:
if((fp=fopen("文件名","操作方式"))==NULL){printf("cannotopenthisfile\n");exit(0);}第10頁/共41頁●關(guān)于exit()函數(shù)1)用法:voidexit([程序狀態(tài)值]);2)功能:關(guān)閉已打開的所有文件,結(jié)束程序運行,返回操作系統(tǒng),并將“程序狀態(tài)值”返回給操作系統(tǒng)。當(dāng)“程序狀態(tài)值”為0時,表示程序正常退出;非0值時,表示程序出錯退出。(2)“r(b)+”與“a(b)+”的區(qū)別:使用前者打開文件時,讀寫位置指針指向文件頭;使用后者時,讀寫指針指向文件尾。(3)使用文本文件向計算機(jī)系統(tǒng)輸入數(shù)據(jù)時,系統(tǒng)自動將回車換行符轉(zhuǎn)換成一個換行符;在輸出時,將換行符轉(zhuǎn)換成回車和換行兩個字符。第11頁/共41頁使用二進(jìn)制文件時,內(nèi)存中的數(shù)據(jù)形式與數(shù)據(jù)文件中的形式完全一樣,就不再進(jìn)行轉(zhuǎn)換。(4)有些C編譯系統(tǒng),可能并不完全提供上述對文件的操作方式,或采用的表示符號不同,請注意所使用系統(tǒng)的規(guī)定。(5)在程序開始運行時,系統(tǒng)自動打開三個標(biāo)準(zhǔn)文件,并分別定義了文件指針:
1)標(biāo)準(zhǔn)輸入文件——stdin:指向終端輸入(一般為鍵盤)。如果程序中指定要從stdin所指的文件輸入數(shù)據(jù),就是從終端鍵盤上輸入數(shù)據(jù)。第12頁/共41頁2)標(biāo)準(zhǔn)輸出文件——stdout:指向終端輸出(一般為顯示器)。3)標(biāo)準(zhǔn)錯誤文件——stderr:指向終端標(biāo)準(zhǔn)錯誤輸出(一般為顯示器)。12.2.2文件的關(guān)閉──fclose()函數(shù)1.用法:intfclose(FILE*文件指針);2.功能:關(guān)閉“文件指針”所指向的文件。如果正常關(guān)閉了文件,則函數(shù)返回值為0;否則,返回值為非0。例如,fclose(fp);/*關(guān)閉fp所指向的文件*/第13頁/共41頁12.3文件的讀寫文件打開之后,就可以對它進(jìn)行讀與寫的操作了。下面按文件的性質(zhì)分類進(jìn)行操作。針對文本文件和二進(jìn)制文件的不同性質(zhì),對文本文件來說,可按字符讀寫或按字符串讀寫;對二進(jìn)制文件來說,可進(jìn)行成塊的讀寫或格式化的讀寫。12.3.1讀/寫一個字符
C提供fgetc和fputc函數(shù)對文本文件進(jìn)行字符的讀寫。讀字符函數(shù)fgetc
fgetc()函數(shù)的原型存于stdio.h頭文件中,格式為:
intfgetc(FILE*fp);
第14頁/共41頁
功能:從指定的文件中讀一個字符,并將文件的位置指針移到下一個字符處,如果已到文件尾,函數(shù)返回EOF。fgetc()函數(shù)調(diào)用形式為:字符變量=fgetc(文件指針);例如:
ch=fgetc(fp);/*從fp指向的文件中讀取一個字符送入ch變量中*/
2.寫字符函數(shù)fputc
fputc()函數(shù)的原型為:intfputc(intch,FILE*fp)
功能:將字符ch的值寫入所指定文件的當(dāng)前位置處,并將文件指針后移一位。fputc()函數(shù)的返回值是所寫入字符的值,出錯時返回EOF。第15頁/共41頁函數(shù)的調(diào)用形式:fputc(字符,文件指針);例如:
fputc(‘a(chǎn)’,fp);/*將字符常量a寫入fp所指向的文件中*/
【例12-1】將存放于磁盤的指定文本文件按讀寫字符方式逐個地從文件讀出,然后再將其顯示到屏幕上。(采用帶參數(shù)的main(),指定的磁盤文件名由命令行方式通過鍵盤給定。)/*exam12_1*/#include"stdio.h"#include"stdlib.h"intmain(intargc,char*argv[]){charch;FILE*fp;inti;
(續(xù))第16頁/共41頁if(argc<=1){printf(“toofewparameters.”);exit(0);}/*若忘記輸入文件名則提示*/if((fp=fopen(argv[1],"r"))==NULL){/*打開一個由argv[1]所指的文件*/printf("notopen");exit(0);}while((ch=fgetc(fp))!=EOF)/*從文件讀一字符,顯示到屏幕*/putchar(ch);fclose(fp);return0;}
[演示]注意:在編譯連接后在DOS命令方式下執(zhí)行程序,并要在可執(zhí)行文件名后輸入目標(biāo)文本文件的完整路徑。第17頁/共41頁【例12-2】從鍵盤輸入字符,存到磁盤文件test.txt中。/*exam12_2*/#include"stdio.h"#include"stdlib.h"intmain(void){FILE*fp;/*定義文件指針*/charch;if((fp=fopen("test.txt","w"))==NULL)/*以只寫方式打開文件*/{printf("cannotopenfile!\n");exit(0);}
while((ch=fgetchar())!='\n')/*只要輸入字符非回車符*/fputc(ch,fp);/*寫入文件一個字符*/fclose(fp);return0;}[演示]第18頁/共41頁程序運行結(jié)果:Ilovechina!↙(運行后從鍵盤輸入)為了驗證從鍵盤輸入的字符是否寫入了文件,我們可以在DOS操作系統(tǒng)環(huán)境下,利用type命令顯示test.txt文件的內(nèi)容。假設(shè)當(dāng)前路徑是c:\tc,則輸入以下命令:c:\tc>typetest.txt↙Ilovechina!(顯示內(nèi)容)說明從鍵盤寫入的字符已存入文件test.txt中。注意:應(yīng)轉(zhuǎn)入當(dāng)前路徑后使用type命令,這里假設(shè)當(dāng)前路徑是c:\tc??梢詧?zhí)行“file”菜單的“OSShell”菜單項暫時轉(zhuǎn)入DOS命令行方式。第19頁/共41頁2.3.2讀/寫一個字符串
C語言提供fgets()和fputs()函數(shù)來實現(xiàn)對文件以字符為單位進(jìn)行讀寫,由于這兩個函數(shù)在使用中往往是一次讀寫一行,所以也稱行讀寫函數(shù)。1.讀字符串函數(shù)fgets
C提供讀字符串的函數(shù)原型在stdio.h頭文件中,其函數(shù)形式為:char*fgets(char*str,intnum,FILE*fp)fgets()函數(shù)的調(diào)用形式為:fgets(字符數(shù)組名,n,文件指針);
功能:從文件指針?biāo)赶虻奈募凶x取至多n-1個字符,在讀入的最后一個字符后加上串結(jié)束標(biāo)志’\0’,并把它們放入字符數(shù)組中。讀取過程中如果遇到了換行符或EOF(文件結(jié)束符),則讀取結(jié)束。第20頁/共41頁【例12-3】從test.txt文件中讀入一個含10個字符的字符串。/*exam12_3*/#include"stdio.h"#include"stdlib.h"intmain(void){FILE*fp;/*定義文件指針*/charstr[11];if((fp=fopen("test.txt","r"))==NULL)/*以只讀方式打開文件*/{printf("cannotopenfile!\n");exit(0);}fgets(str,11,fp);printf(“\n%s\n”,str);/*將字符串輸出到屏幕*/fclose(fp);return0;}[演示]注意:編譯時使用“changedir”命令修改工作目錄為test.txt所在目錄。第21頁/共41頁2.寫字符串函數(shù)fputs
C提供寫字符串的函數(shù)原型在stdio.h頭文件中,其函數(shù)形式為:intfputs(char*str,FILE*fp)其調(diào)用的一般形式為:fputs(字符串,文件指針);功能:將字符串寫入文件指針?biāo)赶虻奈募?。操作成功時,函數(shù)返回0值,失敗返回非零值。第22頁/共41頁【例12-4】寫入多個字符串到磁盤文本文件test.txt。/*exam12_4*/#include"stdio.h"#include"stdlib.h"#include"string.h"intmain(void){FILE*fp;charstr[128];if((fp=fopen("test.txt","w"))==NULL)/*打開只寫的文本文件*/{printf("cannotopenfile!");exit(0);}(續(xù))可以寫出test.txt的絕對路徑,如:c:\examples\test.txt。第23頁/共41頁while((strlen(gets(str)))!=0){/*若串長度為零,則結(jié)束*/fputs(str,fp);/*寫入串*/fputs("\n",fp);/*寫入回車符*/}fclose(fp);/*關(guān)文件*/return0;}
Hello!↙Howdoyoudo↙Good-bye!↙↙c:\tc>typetest.txt↙Hello!HowdoyoudoGood-bye!運行后輸入用type命令驗證結(jié)果注意:應(yīng)轉(zhuǎn)入當(dāng)前路徑后使用type命令。[演示]第24頁/共41頁12.3.3讀/寫一個數(shù)據(jù)塊──fread()和fwrite()實際應(yīng)用中,常常要求1次讀/寫1個數(shù)據(jù)塊。為此,ANSIC標(biāo)準(zhǔn)設(shè)置了fread()和fwrite()函數(shù)。
1.用法:intfread(void*buffer,intsize,intcount,F(xiàn)ILE*fp);intfwrite(void*buffer,intsize,intcount,F(xiàn)ILE*fp);2.功能:fread()──從fp所指向文件的當(dāng)前位置開始,一次讀入size個字節(jié),重復(fù)count次,并將讀入的數(shù)據(jù)存放到從buffer開始的內(nèi)存中;同時,將讀寫位置指針向前移動size*count個字節(jié)。其中,buffer是存放讀入數(shù)據(jù)的起始地址(即存放何處)。第25頁/共41頁fwrite()──從buffer開始,一次輸出size個字節(jié),重復(fù)count次,并將輸出的數(shù)據(jù)存放到fp所指向的文件中;同時,將讀寫位置指針向前移動size*count個字節(jié)。其中,buffer是要輸出數(shù)據(jù)在內(nèi)存中的起始地址(即從何處開始輸出)。如果調(diào)用fread()或fwrite()成功,則函數(shù)返回值等于count。fread()和fwrite()函數(shù),一般用于二進(jìn)制文件的處理。第26頁/共41頁【例12-5】向磁盤寫入格式化數(shù)據(jù),再從該文件讀出顯示到屏幕。/*exam12_5*/#include"stdio.h"#include"stdlib.h"intmain(void){FILE*fp1;inti;structstu{/*定義結(jié)構(gòu)體*/charname[15];charnum[6];floatscore[2];}student;if((fp1=fopen("test.txt","wb"))==NULL){/*以二進(jìn)制只寫方式打開文件*/printf("cannotopenfile");exit(0);}(續(xù))第27頁/共41頁printf("inputdata:\n");for(i=0;i<2;i++){scanf("%s%s%f%f",,student.num,&student.score[0],&student.score[1]);/*輸入一記錄*/fwrite(&student,sizeof(student),1,fp1);/*成塊寫入文件*/}fclose(fp1);if((fp1=fopen("test.txt","rb"))==NULL){/*重新以二進(jìn)制只讀打開文件*/printf("cannotopenfile");exit(0);}(續(xù))第28頁/共41頁printf("outputfromfile:\n");for(i=0;i<2;i++){fread(&student,sizeof(student),1,fp1);/*從文件成塊讀*/printf("%s%s%7.2f%7.2f\n",,student.num,student.score[0],student.score[1]);/*顯示到屏幕*/}fclose(fp1);return0;}inputdata:xiaowanj00187.598.4↙xiaolij00299.589.6↙outputfromfile:xiaowanj00187.5098.40xiaolij00299.5089.60運行情況:[演示]第29頁/共41頁12.3.4對文件進(jìn)行格式化讀/寫
前面的程序設(shè)計中,我們介紹過利用scanf()和printf()函數(shù)從鍵盤格式化輸入及在顯示器上進(jìn)行格式化輸出。對文件的格式化讀寫就是在上述函數(shù)的前面加一個字母f成為fscanf()和fprintf()。其函數(shù)原型為:intfscanf(FILE*stream,char*format,arg_list)intfprintf(FILE*stream,char*format,arg_list)這兩個函數(shù)的一般調(diào)用形式為:fscanf(文件指針,格式控制串,輸入地址表列);fprintf(文件指針,格式控制串,輸出表列);在使用上與標(biāo)準(zhǔn)的輸入輸出函數(shù)相同,只是fscanf()和fprintf()的輸入輸出是對文件進(jìn)行。其實scanf()和printf()從廣義上講也是對文件進(jìn)行,操作對象是對標(biāo)準(zhǔn)輸入(stdin)輸出(stdout)文件。第30頁/共41頁【例12-6】將一些格式化的數(shù)據(jù)寫入文本文件,再從該文件中以格式化方法讀出顯示到屏幕上,其格式化數(shù)據(jù)是兩個學(xué)生記錄,包括姓名、學(xué)號、兩科成績。/*exam12_6*/#include"stdio.h"#include"stdlib.h"intmain(void){FILE*fp;inti;structstu{/*定義結(jié)構(gòu)體類型*/charname[15];charnum[6];floatscore[2];}student;/*說明結(jié)構(gòu)體變量*/(續(xù))第31頁/共41頁if((fp=fopen("test.txt","w"))==NULL){/*以文本只寫方式打開文件*/printf("cannotopenfile");exit(0);}printf("inputdata:\n");for(i=0;i<2;i++){scanf("%s%s%f%f",,student.num,&student.score[0],&student.score[1]);/*從鍵盤輸入*/fprintf(fp,"%s%s%7.2f%7.2f\n",,student.num,student.score[0],student.score[1]);/*寫入文件*/}(續(xù))第32頁/共41頁fclose(fp);/*關(guān)閉文件*/if((fp=fopen("test.txt","r"))==NULL){/*以文本只讀方式重新打開文件*/printf("cannotopenfile");exit(0);}printf("outputfromfile:\n");while(fscanf(fp,"%s%s%f%f\n",,student.num,&student.score[0],student.score[1])!=EOF)/*從文件讀入*/printf("%s%s%7.2f%7.2f\n",,student.num,student.score[0],student.score[1]);/*顯示到屏幕*/fclose(fp);/*關(guān)閉文件*/return0;}[演示]第33頁/共41頁12.3.5讀/寫函數(shù)的選用原則從功能角度來說,fread()和fwrite()函數(shù)可以完成文件的任何數(shù)據(jù)讀/寫操作。但為方便起見,依下列原則選用:
1.讀/寫1個字符(或字節(jié))數(shù)據(jù)時:選用fgetc()和fputc()函數(shù)。
2.讀/寫1個字符串時:選用fgets()和fputs()函數(shù)。
3.讀/寫1個(或多個)不含格式的數(shù)據(jù)時:選用fread()和fwrite()函數(shù)。
4.讀/寫1個(或多個)含格式的數(shù)據(jù)時:選用fscanf()和fprintf()函數(shù)。第34頁/共41頁12.4文件定位文件中有一個讀寫位置指針,指向當(dāng)前的讀寫位置。每次讀寫1個(或1組)數(shù)據(jù)后,系統(tǒng)自動將位置指針移動到下一個讀寫位置上。
如果想改變系統(tǒng)這種讀寫規(guī)律,可使用有關(guān)文件定位的函數(shù)。
12.4.1位置指針復(fù)位函數(shù)rewind()1.用法:intrewind(文件指針);2.功能:使文件的位置指針返回到文件頭。
12.4.2隨機(jī)讀寫與fseek()函數(shù)對于流式文件,既可以順序讀寫,也可隨機(jī)讀寫,關(guān)鍵在于控制文件的位置指針。
所謂順序讀寫是指,讀寫完當(dāng)前數(shù)據(jù)后,系統(tǒng)自動將文件的位置指針移動到下一個讀寫位置上。第35頁/共41頁所謂隨機(jī)讀寫是指,讀寫完當(dāng)前數(shù)據(jù)后,可通過調(diào)用fseek()函數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度寵物用品連鎖店承包經(jīng)營服務(wù)協(xié)議4篇
- 二零二五版明星代言合同合作方責(zé)任與義務(wù)協(xié)議4篇
- 建設(shè)工程設(shè)計合同(2篇)
- 聚氨酯管殼施工方案
- 二零二五版數(shù)碼產(chǎn)品典當(dāng)借款服務(wù)協(xié)議4篇
- 2025年度個人貸款還款計劃合同模板8篇
- 中央處理器GPU:性能躍遷與行業(yè)應(yīng)用的深度剖析 頭豹詞條報告系列
- 班會安全教育模板
- 二零二五年度民間擔(dān)保機(jī)構(gòu)與企業(yè)合作協(xié)議4篇
- 鯨的自述200字5篇
- 副廠長競聘演講稿
- 高二物理題庫及答案
- 2024年河北省廊坊市廣陽區(qū)中考一模道德與法治試題
- 電影項目策劃書
- 產(chǎn)業(yè)園區(qū)金融綜合服務(wù)創(chuàng)新藍(lán)皮書(2024.1)
- 高一數(shù)學(xué)單元練習(xí)卷
- 國際標(biāo)準(zhǔn)IQ測試題及答案樣本
- 美容院管理制度章程
- 職業(yè)發(fā)展展示園林
- 統(tǒng)編版六年級下冊語文1-6單元習(xí)作課件
- 社會安全風(fēng)險評估模型的研究
評論
0/150
提交評論