版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第13章
文
件所謂“文件”一般指存儲(chǔ)在外部介質(zhì)的數(shù)據(jù)的集合。在程序運(yùn)行時(shí),程序本身和數(shù)據(jù)一般都存放在內(nèi)存中。當(dāng)程序運(yùn)行結(jié)束后,存放在內(nèi)存中的數(shù)據(jù)被釋放。如果需要長期保存程序運(yùn)行所需的原始數(shù)據(jù),或程序運(yùn)行產(chǎn)生的結(jié)果,就必須以文件形式存儲(chǔ)到外部存儲(chǔ)介質(zhì)上。13.1C語言文件概述13.2文件的類型指針13.3文件的打開與關(guān)閉13.4文件的讀寫13.5文件的定位13.1C語言文件概述
1.文件與文件名
文件是指存放在外部存儲(chǔ)介質(zhì)上的數(shù)據(jù)集合。為標(biāo)識(shí)一個(gè)文件,每個(gè)文件都必須有一個(gè)文件名,其一般結(jié)構(gòu)為:主文件名[.擴(kuò)展名]
文件命名規(guī)則,遵循操作系統(tǒng)的約定。2.文件分類可以從不同的角度對(duì)文件進(jìn)行分類:(1)根據(jù)文件的內(nèi)容,可分為程序文件和數(shù)據(jù)文件,程序文件又可分為源文件、目標(biāo)文件和可執(zhí)行文件。(2)根據(jù)文件的組織形式,可分為順序存取文件和隨機(jī)存取文件。(3)根據(jù)文件的存儲(chǔ)形式,可分為ASCII碼文件和二進(jìn)制文件。
ASCII碼文件的每1個(gè)字節(jié)存儲(chǔ)1個(gè)字符,因而便于對(duì)字符進(jìn)行逐個(gè)處理。但一般占用存儲(chǔ)空間較多,而且要花費(fèi)轉(zhuǎn)換時(shí)間(二進(jìn)制與ASCII碼之間的轉(zhuǎn)換)。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù),原樣輸出到磁盤文件中。可以節(jié)省存儲(chǔ)空間和轉(zhuǎn)換時(shí)間,但1個(gè)字節(jié)并不對(duì)應(yīng)1個(gè)字符,不能直接輸出字符形式。3.讀文件與寫文件所謂讀文件是指,將磁盤文件中的數(shù)據(jù)傳送到計(jì)算機(jī)內(nèi)存的操作。所謂寫文件是指,從計(jì)算機(jī)內(nèi)存向磁盤文件中傳送數(shù)據(jù)的操作。4.構(gòu)成文件的基本單元與流式文件C語言將文件看作是由一個(gè)一個(gè)的字符(ASCII碼文件)或字節(jié)(二進(jìn)制文件)組成的。將這種文件稱為流式文件。而在其它高級(jí)語言中,組成文件的基本單位是記錄,對(duì)文件操作的基本單位也是記錄。13.2文件類型指針
系統(tǒng)給每個(gè)打開的文件都在內(nèi)存中開辟一個(gè)區(qū)域,用于存放文件的有關(guān)信息(如文件名、文件位置等)。這些信息保存在一個(gè)結(jié)構(gòu)類型變量中,該結(jié)構(gòu)類型由系統(tǒng)定義、取名為FILE。注意:結(jié)構(gòu)類型名“FILE”必須大寫。文件型指針變量的定義:
FILE*fp;
fp是一個(gè)指向FILE類型結(jié)構(gòu)體的指針變量。可以使fp指向某一個(gè)文件的結(jié)構(gòu)體變量,從而通過該結(jié)構(gòu)體變量中的文件信息能夠訪問該文件。。13.3文件的打開與關(guān)閉對(duì)文件進(jìn)行操作之前,必須先打開該文件;使用結(jié)束后,應(yīng)立即關(guān)閉,以免數(shù)據(jù)丟失。C語言規(guī)定了標(biāo)準(zhǔn)輸入輸出函數(shù)庫,用fopen()函數(shù)打開一個(gè)文件,用fclose()函數(shù)關(guān)閉一個(gè)文件。
13.3.1文件的打開──fopen()函數(shù)1.用法:FILE*fopen("文件名","操作方式");2.功能:返回一個(gè)指向指定文件的指針。3.函數(shù)原型:stdio.h
。注:對(duì)文件操作的庫函數(shù),函數(shù)原型均在頭文件stdio.h中。后續(xù)函數(shù)不再贅述。(1)“文件名”是指要打開(或創(chuàng)建)的文件名。如果使用字符數(shù)組(或字符指針),則不使用雙引號(hào)。(2)“操作方式”如表12-1所示。例如,F(xiàn)ILE*fp;
fp=fopen("data.99","r");3.說明(1)如果不能實(shí)現(xiàn)打開指定文件的操作,則fopen()函數(shù)返回一個(gè)空指針NULL(其值在頭文件stdio.h中被定義為0)。為增強(qiáng)程序的可靠性,常用下面的方法打開一個(gè)文件:
if((fp=fopen("文件名","操作方式"))==NULL){printf("cannotopenthisfile\n");exit(0);}●關(guān)于exit()函數(shù)1)用法:voidexit([程序狀態(tài)值]);2)功能:關(guān)閉已打開的所有文件,結(jié)束程序運(yùn)行,返回操作系統(tǒng),并將“程序狀態(tài)值”返回給操作系統(tǒng)。當(dāng)“程序狀態(tài)值”為0時(shí),表示程序正常退出;非0值時(shí),表示程序出錯(cuò)退出。(2)“r(b)+”與“a(b)+”的區(qū)別:使用前者打開文件時(shí),讀寫位置指針指向文件頭;使用后者時(shí),讀寫指針指向文件尾。(3)使用文本文件向計(jì)算機(jī)系統(tǒng)輸入數(shù)據(jù)時(shí),系統(tǒng)自動(dòng)將回車換行符轉(zhuǎn)換成一個(gè)換行符;在輸出時(shí),將換行符轉(zhuǎn)換成回車和換行兩個(gè)字符。使用二進(jìn)制文件時(shí),內(nèi)存中的數(shù)據(jù)形式與數(shù)據(jù)文件中的形式完全一樣,就不再進(jìn)行轉(zhuǎn)換。(4)有些C編譯系統(tǒng),可能并不完全提供上述對(duì)文件的操作方式,或采用的表示符號(hào)不同,請(qǐng)注意所使用系統(tǒng)的規(guī)定。(5)在程序開始運(yùn)行時(shí),系統(tǒng)自動(dòng)打開三個(gè)標(biāo)準(zhǔn)文件,并分別定義了文件指針:
1)標(biāo)準(zhǔn)輸入文件——stdin:指向終端輸入(一般為鍵盤)。如果程序中指定要從stdin所指的文件輸入數(shù)據(jù),就是從終端鍵盤上輸入數(shù)據(jù)。2)標(biāo)準(zhǔn)輸出文件——stdout:指向終端輸出(一般為顯示器)。3)標(biāo)準(zhǔn)錯(cuò)誤文件——stderr:指向終端標(biāo)準(zhǔn)錯(cuò)誤輸出(一般為顯示器)。13.3.2文件的關(guān)閉──fcolse()函數(shù)1.用法:int
fclose(FILE*文件指針);2.功能:關(guān)閉“文件指針”所指向的文件。如果正常關(guān)閉了文件,則函數(shù)返回值為0;否則,返回值為非0。例如,fclose(fp);/*關(guān)閉fp所指向的文件*/13.4文件的讀寫操作文件打開之后,就可以對(duì)它進(jìn)行讀與寫的操作了。13.3.1讀/寫文件中的一個(gè)字符
13.3.2讀/寫一個(gè)字符串13.3.3讀/寫一個(gè)數(shù)據(jù)塊13.3.4對(duì)文件進(jìn)行格式化讀/寫13.3.5讀/寫函數(shù)的選用原則
13.4.1讀/寫文件中的一個(gè)字符1.將一個(gè)字符寫到文件中──fputc()函數(shù)
[案例]將鍵盤上輸入的一個(gè)字符串(以“@”作為結(jié)束字符),以ASCII碼形式存儲(chǔ)到一個(gè)磁盤文件中。
#include“stdio.h”
main(){FILE*fp;charch,filen[20];
scanf(“%s”,filen);{printf("thenumberofargumentsnotcorrect\n\n");printf(“Usage:可執(zhí)行文件名filename\n”);
}
if((fp=fopen(filen[1],“w”))==NULL){printf("cannotopenthisfile\n");exit(0);/*w為只讀(312頁)*/
}
/*輸入字符,并存儲(chǔ)到指定文件中*/for(;(ch=getchar())!='@';)
fputc(ch,fp);
/*輸入字符并存儲(chǔ)到文件中*/
fclose(fp); /*關(guān)閉文件*/}
[程序演示]將一個(gè)字符寫到文件中──fputc()函數(shù)
程序運(yùn)行情況:
abcdefg1234567@←┘[案例13.1]將鍵盤上輸入的一個(gè)字符串(以“#”作為結(jié)束字符),以ASCII碼形式存儲(chǔ)到一個(gè)磁盤文件中。
/*使用格式:可執(zhí)行文件名要?jiǎng)?chuàng)建的磁盤文件名*/
#include<stdio.h>
main()(輸入文件1后輸入字符串){FILE*fp;charch,filen[10];
scanf(“%s”,filen);
if((fp=fopen(filen,“w”))==NULL{printf("cannotopenthisfile\n");exit(0);}
ch=getchar();
/*接收最后輸入的回車字符*/
ch=getchar();
/*接收輸入的第一個(gè)字符*/
while(ch!=‘#’)
{fputc(ch,fp);putchar(ch);
ch=getchar();}
fclose(fp);
}
1、函數(shù)fputc():1)用法:int
fputc(字符數(shù)據(jù),文件指針);其中“字符數(shù)據(jù)”,既可以是字符常量,也可以是字符變量。2)功能:將字符數(shù)據(jù)輸出到“文件指針”所指向的文件中去,同時(shí)將讀寫位置指針向前移動(dòng)1個(gè)字節(jié)(即指向下一個(gè)寫入位置)。如果輸出成功,則函數(shù)返回值就是輸出的字符數(shù)據(jù);否則,返回一個(gè)符號(hào)常量EOF(其值在頭文件stdio.h中,被定義為-1)。[例13.2]將鍵盤上輸入的字符串,存儲(chǔ)到另一個(gè)磁盤文件中。
(輸入文件1和文件2)#include<stdio.h>
main()CCCC{FILE*in,*put;charch,infilen[10],outl[10];
printf(“name:”);
scanf(“%s”,infilen);
scanf(“%s”,outl);
if((in=fopen(infilen,“r”))==NULL){printf("canopenthisfile\n");exit(0);}
if((in=fopen(outl,“w”))==NULL)
printf("notopenthisfile\n");exit(0);}while(!feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(in);}
2.從文件中讀入一個(gè)字符──fgetc()函數(shù)[案例]順序顯示創(chuàng)建的磁盤ASCII碼文件。/*參數(shù):帶參主函數(shù),使用格式:可執(zhí)行文件名源文件名*/#include"stdio.h"main(int
argc,char*argv[]){FILE*fp;charch;
if(argc!=2) /*參數(shù)個(gè)數(shù)不對(duì)*/{printf("thenumberofargumentsnotcorrect\n");
printf(“\nUsage:可執(zhí)行文件名源文件名");exit(0);}
if((fp=fopen(argv[1],"r"))==NULL){printf("cannotopensourcefile\n");exit(0);}
/*順序輸出文件的內(nèi)容*/for(;(ch=fgetc(fp))!=EOF;)
putchar(ch); /*順序讀入并顯示*/
fclose(fp); /*關(guān)閉打開的文件*/}
程序運(yùn)行情況:
abcdefg1234567(1)庫函數(shù)fgetc()1)用法:int
fgetc(文件指針);2)功能:從“文件指針”所指向的文件中,讀入一個(gè)字符,同時(shí)將讀寫位置指針向前移動(dòng)1個(gè)字節(jié)(即指向下一個(gè)字符)。該函數(shù)無出錯(cuò)返回值。例如,fgetc(fp)表達(dá)式,從文件fp中讀一個(gè)字符,同時(shí)將fp的讀寫位置指針向前移動(dòng)到下一個(gè)字符。(2)關(guān)于符號(hào)常量EOF
在對(duì)ASCII碼文件執(zhí)行讀入操作時(shí),如果遇到文件尾,則讀操作函數(shù)返回一個(gè)文件結(jié)束標(biāo)志EOF(其值在頭文件stdio.h中被定義為-1)。在對(duì)二進(jìn)制文件執(zhí)行讀入操作時(shí),必須使用庫函數(shù)feof()來判斷是否遇到文件尾。
[案例]實(shí)現(xiàn)制作ASCII碼文件副本的功能。/*程序功能:制作ASCII碼文件的副本*//*使用格式:可執(zhí)行文件名源文件名目標(biāo)文件名*/#include"stdio.h"main(int
argc,char*argv[]){FILE*input,*output; /*input:源文件指針,output:目標(biāo)文件指針*/charch;
if(argc!=3)/*參數(shù)個(gè)數(shù)不對(duì)*/{printf("thenumberofargumentsnotcorrect\n");
printf("\nUsage:可執(zhí)行文件名source-filedest-file");exit(0);}
if((fp=fopen(argv[1],"r"))==NULL) /*打開源文件失敗*/{printf("cannotopensourcefile\n");exit(0);}if((fp=fopen(argv[2],"w"))==NULL)/*創(chuàng)建目標(biāo)文件失敗*/{printf("cannotcreatedestinationfile\n");exit(0);}/*復(fù)制源文件到目標(biāo)文件中*/for(;(!feof(input));)fputc(fgetc(input),output);
fclose(input);fclose(output); /*關(guān)閉源文件和目標(biāo)文件*/}
庫函數(shù)feof():
1)用法:int
feof(文件指針);
2)功能:在執(zhí)行讀文件操作時(shí),如果遇到文件尾,則函數(shù)返回邏輯真(1);否則,則返回邏輯假(0)。feof()函數(shù)同時(shí)適用于ASCII碼文件和二進(jìn)制文件。
例如,!feof(input))表示源文件(用于輸入)未結(jié)束,循環(huán)繼續(xù)。[案例]將鍵盤上輸入的一個(gè)長度不超過80的字符串,以ASCII碼形式存儲(chǔ)到一個(gè)磁盤文件中;然后再輸出到屏幕上。/*案例代碼文件名:AL12_4.C*//*參數(shù):可執(zhí)行文件名要?jiǎng)?chuàng)建的磁盤文件名*/#include"stdio.h"main(int
argc,char*argv[]){FILE*fp;charstring[81]; /*字符數(shù)組用于暫存輸入輸出的字符串*/
if(argc>2)/*參數(shù)太多,提示出錯(cuò)*/{printf("Toomanyparameters…\n\n");
printf("Usage:可執(zhí)行文件名filename\n");exit(0);}
if(argc==1) /*缺磁盤文件名,提示輸入*/{printf("Inputthefilename:");gets(string); /*借用string暫存輸入的文件名*/argv[1]=(char*)malloc(strlen(string)+1);/*給文件名參數(shù)申請(qǐng)內(nèi)存空間*/strcpy(argv[1],string);/*復(fù)制文件名到形參中*/}if((fp=fopen(argv[1],"w"))==NULL) /*打開文件失敗*/{printf("cannotopenthisfile\n"); exit(0);}/*從鍵盤上輸入字符串,并存儲(chǔ)到指定文件中*/
printf("Inputastring:");gets(string); /*從鍵盤上輸入字符串*/
fputs(string,fp); /*存儲(chǔ)到指定文件*/
fclose(fp);
/*重新打開文件,讀出其中的字符串,并輸出到屏幕上*/if((fp=fopen(argv[1],"r"))==NULL) /*打開文件失敗*/{printf("cannotopenthisfile\n");exit(0);}
fgets(string,strlen(string)+1,fp); /*從文件中讀一個(gè)字符串*/
printf("Outputthestring:");puts(string); /*將字符串輸出到屏幕上*/
fclose(fp);}
(1)為增強(qiáng)程序的可靠性,程序中對(duì)參數(shù)過多的情況,提示出錯(cuò)、并終止程序運(yùn)行;而遺漏文件名時(shí),提示用戶輸入。同時(shí),為增強(qiáng)程序的人機(jī)交互性,凡是需要用戶輸入數(shù)據(jù)的地方,都設(shè)置提示輸入的信息;凡是輸出數(shù)據(jù)的地方,都設(shè)置輸出說明信息。(2)庫函數(shù)fputs()──向指定文件輸出一個(gè)字符串1)用法:int
fputs(字符串,文件指針);其中“字符串”可以是一個(gè)字符串常量,或字符數(shù)組名,或字符指針變量名。2)功能:向指定文件輸出一個(gè)字符串,同時(shí)將讀寫位置指針向前移動(dòng)strlength(字符串長度)個(gè)字節(jié)。如果輸出成功,則函數(shù)返回值為0;否則,為非0值。(3)庫函數(shù)fgets()──從文件中讀一個(gè)字符串
1)用法:char*fgets(指針,串長度+1,文件指針);2)功能:從指定文件中讀入一個(gè)字符串,存入“字符數(shù)組/指針”中,并在尾端自動(dòng)加一個(gè)結(jié)束標(biāo)志'\0';同時(shí),將讀寫位置指針向前移動(dòng)strlength(字符串長度)個(gè)字節(jié)。如果在讀入規(guī)定長度之前遇到文件尾EOF或換行符,讀入即結(jié)束。13.4.2讀/寫一個(gè)數(shù)據(jù)塊──fread()和fwrite()實(shí)際應(yīng)用中,常常要求1次讀/寫1個(gè)數(shù)據(jù)塊。為此,ANSIC標(biāo)準(zhǔn)設(shè)置了fread()和fwrite()函數(shù)。
1.用法:
fread(buffer,size,count,fp);fwrite(buffer,size,count,fp);
2.功能:fread()──從fp所指向文件的當(dāng)前位置開始,一次讀入size個(gè)字節(jié),重復(fù)count次,并將讀入的數(shù)據(jù)存放到從buffer開始的內(nèi)存中;同時(shí),將讀寫位置指針向前移動(dòng)size*count個(gè)字節(jié)。其中,buffer是存放讀入數(shù)據(jù)的起始地址(即指針-存放何處)。fwrite()──從buffer開始,一次輸出size個(gè)字節(jié),重復(fù)count次,并將輸出的數(shù)據(jù)存放到fp所指向的文件中;同時(shí),將讀寫位置指針向前移動(dòng)size*count個(gè)字節(jié)。其中,buffer是要輸出數(shù)據(jù)在內(nèi)存中的起始地址(即從何處開始輸出)。如果調(diào)用fread()或fwrite()成功,則函數(shù)返回值等于count。fread()和fwrite()函數(shù),一般用于二進(jìn)制文件的處理。例13.3從鍵盤輸入4個(gè)學(xué)生的有關(guān)數(shù)據(jù),然后把它們轉(zhuǎn)存到磁盤文件上去.
#include<stdio.h>#defineSIZE4
struct
stu_type{charname[10];
intnum;
intage;charaddr[15];}stud[SIZE];voidsave(){FILE*fp;
intI;
if((fp=fopen(“stu_list”,”wb”))==NULL{printf(“notopen\n”;return;}
for(i=0;i<SIZE;i++)
if(fwrite(&stud[i],sizeof(structstu_type),1,fp)!=1)
printf(“fileerror\n”);
fcloss(fp)}main()
intI;
for(i=0;i<SIZE;i++)scanf(“%s%d%d%s”,stud[i].name,&stud[i].num,&stud[i].age,&stud[i].addr);save();}
輸入4個(gè)學(xué)生信息,送到磁盤文件,并不顯示.可用下面程序輸出.
#include<stdio,h>#defineSIZE4
struct
stu_type{charname[10];
intnum;
intage;charaddr[15];}stud[SIZE];main(){intI;FILE*fp;
fp=fopen(“stu_list”,”rb”);
for(i=1;i<SIZE;i++)
{freade(&stud[i],sizeof(structstu_type),1,fp);
printf(“%-10s%4d%4d%-15s\n”,stud[i].name,stud[i].num,stud[i].age,stud[i].addr);}
fclose(fp);}ccccc13.4.3對(duì)文件進(jìn)行格式化讀/寫──fscanf()和fprintf()函數(shù)
與scanf()和printf()函數(shù)的功能相似,區(qū)別在于:fscanf()和fprintf()函數(shù)的操作對(duì)象是指定文件,而scanf()和printf()函數(shù)的操作對(duì)象是標(biāo)準(zhǔn)輸入(stdin)輸出(stdout)文件。
int
fscanf(文件指針,"格式符",輸入變量首地址表);
int
fprintf(文件指針,"格式符",輸出參量表);
例如,......
inti=3;floatf=9.80;......fprintf(fp,"%2d,%6.2f",i,f);......
fprintf()函數(shù)的作用是,將變量i按%2d格式、變量f按%6.2f格式,以逗號(hào)作分隔符,輸出到fp所指向的文件中:□3,□□9.80(□表示1個(gè)空格)。13.4.4讀/寫函數(shù)的選用原則從功能角度來說,fread()和fwrite()函數(shù)可以完成文件的任何數(shù)據(jù)讀/寫操作。但為方便起見,依下列原則選用:
1.讀/寫1個(gè)字符(或字節(jié))數(shù)據(jù)時(shí):選用fgetc()和fputc()函數(shù)。
2.讀/寫1個(gè)字符串時(shí):選用fgets()和fputs()函數(shù)。
3.讀/寫1個(gè)(或多個(gè))不含格式的數(shù)據(jù)時(shí):選用fread()和fwrite()函數(shù)。
4.讀/寫1個(gè)(或多個(gè))含格式的數(shù)據(jù)時(shí):選用fscanf()和fprintf()函數(shù)。13.5文件定位文件中有一個(gè)讀寫位置指針,指向當(dāng)前的讀寫位置。每次讀寫1個(gè)(或1組)數(shù)據(jù)后,系統(tǒng)自動(dòng)將位置指針移動(dòng)到下一個(gè)讀寫位置上。
如果想改變系統(tǒng)這種讀寫規(guī)律,可使用有關(guān)文件定位的函數(shù)。
13.5.1位置指針復(fù)位函數(shù)rewind()1.用法:intrewind(文件指針);2.功能:使文件的位置指針返回到文件頭。
13.5.2隨機(jī)讀寫與fseek()函數(shù)對(duì)于流式文件,既可以順序讀寫,也可隨機(jī)讀寫,關(guān)鍵在于控制文件的位置指針。
所謂順序讀寫是指,讀寫完當(dāng)前數(shù)據(jù)后,系統(tǒng)自動(dòng)將文件的位置指針移動(dòng)到下一個(gè)讀寫位置上。所謂隨機(jī)讀寫是指,讀寫完當(dāng)前數(shù)據(jù)后,可通過調(diào)用fseek()函數(shù),將位置指針移動(dòng)到文件中任何一個(gè)地方。
1.用法:int
fseek(文件指針,位移量,參照點(diǎn));2.功能:將指定文件的位置指針,從參照點(diǎn)開始,移動(dòng)指定的字節(jié)數(shù)。(1)參照點(diǎn):用0(文件頭)、1(當(dāng)前位置)和2(文件尾)表示。在ANSIC標(biāo)準(zhǔn)中,還規(guī)定了下面的名字:
SEEK_SET──文件頭,
SEEK_CUR──當(dāng)前位置,
SEEK_END──文件尾(2)位移量:以參照點(diǎn)為起點(diǎn),向前(當(dāng)位移量>0時(shí))或后(當(dāng)位移量<0時(shí))移動(dòng)的字節(jié)數(shù)。在ANSIC標(biāo)準(zhǔn)中,要求位移量為longint型數(shù)據(jù)。fseek()函數(shù)一般用于二進(jìn)制文件。13.5.3返回文件當(dāng)前位置的函數(shù)ftell()由于文件的位置指針可以任意移動(dòng),也經(jīng)常移動(dòng),往往容易迷失當(dāng)前位置,ftell()就可以解決這個(gè)問題。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 屋面防水課件教學(xué)課件
- 2024年度大數(shù)據(jù)中心建設(shè)與運(yùn)維合同
- 2024年度供應(yīng)鏈管理與融資合同
- 2024年度CRM系統(tǒng)升級(jí)合同:增強(qiáng)銷售合同管理功能
- 2024年度5G基站建設(shè)施工合同
- 2024年建筑工程環(huán)保分包合同
- 2024上海市室內(nèi)裝修合同協(xié)議書范本
- 2024年度企業(yè)合規(guī)性檢查與咨詢服務(wù)合同
- 2024年夫妻財(cái)產(chǎn)清算協(xié)議
- 2024天然氣管網(wǎng)運(yùn)營管理合同
- 建筑幕墻工程(鋁板、玻璃、石材)監(jiān)理實(shí)施細(xì)則(全面版)
- 小學(xué)數(shù)學(xué)與思政融合課教學(xué)設(shè)計(jì)
- 休閑生態(tài)農(nóng)業(yè)觀光園建設(shè)項(xiàng)目財(cái)務(wù)分析及效益評(píng)價(jià)
- 江西省南昌市民德學(xué)校2023-2024學(xué)年八年級(jí)上學(xué)期期中數(shù)學(xué)試題
- 國際金融(英文版)智慧樹知到期末考試答案2024年
- 2024年《藥物臨床試驗(yàn)質(zhì)量管理規(guī)范》(GCP)網(wǎng)絡(luò)培訓(xùn)題庫
- 2023年度學(xué)校食堂每月食品安全調(diào)度會(huì)議紀(jì)要
- 建筑門窗、幕墻安裝工人安全技術(shù)操作規(guī)程
- 綠色高效百萬噸級(jí)乙烯成套技術(shù)開發(fā)及工業(yè)應(yīng)用-研究報(bào)告
- 逐夢青春志在四方規(guī)劃啟航職引未來
- 項(xiàng)目部單機(jī)油耗分析報(bào)告
評(píng)論
0/150
提交評(píng)論