(完整版)Linux網(wǎng)絡編程練習題_第1頁
(完整版)Linux網(wǎng)絡編程練習題_第2頁
免費預覽已結(jié)束,剩余23頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、a.txt 文件內(nèi)容如下: hello world 2、編寫兩個不同的可執(zhí)行程序, 名稱分別為 a 和 b, b 為 a 的子進程。在 a 程序中調(diào)用 open 函數(shù)打開 a.txt 文件。在 b 程序不可以調(diào)用 open或者 fopen,只允許調(diào)用 read 函數(shù)來實現(xiàn)讀 取 a.txt文件。(a 程序中可以使用 fork 與 execve 函數(shù)創(chuàng)建子進程)。 Wlncludo Nincludc -5ys/typc5h tfInclude 4tncluda: int argcb&r 1 j) prlntf ( beginXn*); 七 fd opcn(a.txf , 0_RDONL

2、)打 R 咲方甘打開乂件 if (fd 乂 7”/晰*豁朗旳扯 lUR 決泵nwi 仙區(qū)J! print omar is Ssn f strerrar (errno) return EXI1_FAIL,UKE; piJ.t =他(;門*ork 伺用.蒞內(nèi)存呻剜-丐目已 I 和圍屯 廿(pid 叭/7 擁岸也皿決勢 IKfnili 創(chuàng) C 臥 砂加朗惟巨. prAntf ferk failed Sis n, itrer ror (emno); e-faurn kXlTFAILURE; if (pi/ttWforkjgaW 于各川龜日淖瘍 char s12S; mein5Ct( Sj zcoF(

3、(s); sprintffsj M,千孑訂/馬打幵乂亡曲衛(wèi)呼朗劃廉飾彳端實伽榊 char *arg!;J = h 勺 NULL ; if CBxcv arfiSj NULL) “ -1)杵劉換辻苗 d#肯蟲珊?矗懈曲聽予 prlntf(M xc 匚譏 3 failed: %snH, 3trcrror(crrno); printf(a endn*)| 戶 4 七 uhji a; b.c#irtcludc Jfincluda #lncludd #inclLile in-t main(lnt argj char 2、實現(xiàn)一個 so 庫文件名稱為 libtupper.so ,so 文件中實現(xiàn)一個函數(shù),

4、 函數(shù)名為 void upper(const char *src, char *desc),調(diào)用 update 后將參數(shù) src 所指向的字符串中所有字符轉(zhuǎn)化為大寫字母, 結(jié)果放入 desc 字符串中。分別用 C 語言編寫一個程序 testl,調(diào)用 libupper.so 中的 upper 函 數(shù),用 C+語言編寫一個程序 test2,調(diào)用 libupper.so 中的 upper 函數(shù)。 1 實現(xiàn)兩個程序 mysignal、mycontrl , mycontrl 給 mysignal 發(fā)送 SIGINT 信號,控制 mysignal 是否在屏幕打印“ hello”字符串。 int main:

5、(dLint arg? char ) jl* HfPS-hellc printf(*hellon); sleep(l; ro-turrii 0; it |had-c / Ekef讓 當 upferc 霄 EygnMc 対 空tryti哲nMt 10 CtlSfi 11 f V iflt pid = ataiargslj ); * pid 1 killfpid, siGiNT) );.7-iiaCTpisiGiNrt 14 returni 君 15 4 五 _ _ I 2、自己動手實現(xiàn)一個守護進程,當控制臺窗口關閉時還可以在后臺運行。每隔一秒鐘向 my.log 文件中插入一條記錄, 記錄格式如下

6、:yyyy-mm-dd hh:mi:se 記錄內(nèi)容,其中 yyyy 為Itincludc ft include ffinelud* int niaift(irit arc, char args) if (ar 2) /址畢殳秤曇魏破 Pni 誹運國 I return 0; else f int pid = atoi(args 1J J ; i 氓化兀 “ + killfpid, SIGINT);向 II 齣 pi 撿底 5MIMHT 號 returiii 宕; 1 4、 年,mm 為月,dd 為天,hh為小時,mi 為分鐘,se 為秒。 void wr-iel0(cont char rlog)

7、 tDatej str-uct tm evefltTine; ti e St Date );仃胛:V #9 聞 event! j ine - 1 acai tirne&t Date;/Rg!卜寸.匚二曲 rm t、世百: irrt iYear- - eventTiine tm_year + 19&0; irrt iMon - evefltTime-tm mon + 1; w * int IDa/ = event1ime-tm_mday; int iHoui = event! inte- tm_hour; int iMin 二 eventTimt?- int iSc = even

8、tTifle-tm_5ec; char state l&J; sprintf ( ,%&d-K02d-%02d s iear iMon iDay ); char sTjffie16j sprintf(sTime lh%2d:2d:%e2dt iHour, iMin, iSec)j 離呂姑 n,bj百伽百伽2Titnef Log);若嶄式詵瓣丹 FILE *fd = fop4n(nnylog, na+);以型 G 乃圖 7 評 ny.1 口攻件 fpwts(s4 fd);囪 my 職件耳 Zff 配最 f clO3fl(fd) j / 1 i 和 ITlQf 1 3、 PO pi

9、Jj久丘日1 pif - f); if (pid 6) ) axi4:(EXl:T_SUCCESS); /in i;!ie if (&id m !;et id() 七. s f xzo(B)R 0) 0 piriatf *ir&cv %sn!1, a); 匕丄甘匕 bT?eaJc ; z-&ad ( STDTN FTLEWO r s, si ZFO-F ( S); retura EXIT_SUCCE33; while (1) i.f ( nd( i七 曰# srrlen r 0 meinset : sr 0* sizeof (s ; printf (send faile

10、d %sn,f, strerxor (exrnoi ) / return EXIT_FAILURE; int printf ,!ctiihe43t Called 號“.trrno) i EXIT F益耳LOP-E; licdizc, s z,E:D-f : iddr sitFuqt as-clndF in A4E|T eiEJset 4a且五# size口:E :呂己三聖 ; a AH, ain_r aiii 1 y = AF_INET1? B ddr. Ai n_port htcan Ipdift. | .: addz. in_3dldjr. a_-addf inct ddx araD 1

11、9 j xnt maLc xnlL argr cha.r *arg C At r TLI uh# uniDtd,h Csya/T ypE 3.2 d yis f 門口匸 port at: si a rga 2 q =il lit!, JOm JTRhiX,. lot nuin(nt arg-j char *args ) setda?i*on( ); /打璉祥 i 殳弟占PEO樸壯花 char buf10& int i = 0j wt) )il4 (1) main5atbuf ? sizcaf (buf ) ) y sprintf ( buf * log ltd t i+); writ

12、elog (buf); / Av * loS# _ 心命紂打_ Server int iut argr char JI If arg _30CRETF 3O_REU3EADDR, Ron. (cnl ss *1J : _ * _ printf (etsuclkapt failed dinstrerror (errno) I ; raturn EX1T_FA丄LURE: w truet s Dck a ddri n ddd. ; 比幻m討白匸蠡且8出上 Qt f aiddr3in_family AF_INET addf. *inL_pSiZ,fe = hlonport; =_J_LL r 工亠;

13、_O.L1_L 丄 L 11 J . 1 I 暫泣匸宇工:n 1 f (bind(st,. (Btr-uat oekaddr *) -dddr r 9tlw -1) printf fbind failed fcsVnJ srerror erinaj ); raturn EXIT FAILURE? (213ten ( str 2 0) = -1 pr n亡亡 J_ i m;亡邑 ii x ailed %sra!|* r st rer.roz: (eTrnoli ; return EXLFAIlURE; J O-HELE S f 1024 ; Ji nt cl j_entr st- = 0; st

14、ru-cit sockaddr i_n client addr; raenset, (iclientadtir. slzeaf,client_ad-l); sock lam t lan 二 BiawDf (cli KIIE addf) f client at - accept Cat, CR 七 iruc七 aockaddr * alien 七_勻4; return EXIT?_FAIWRE; prizitf accept by %sn*t inet_xitoa ;cl ent_addi: mirLddH) ; while fl) merase-(號” 0, slzecf(s); int ra

15、 = iftev (client stsr (B) R 0);int i; for (1 = Oj tlenl; 0) m void (void arg? h i_nt at = * lnt *卜且工寸; ;z-ptum NULL; HAETAn LTRGKI 7 fcriftH p jri.iL 七 lien 七 J else- 改進后代碼 Clie void *recvi3ck*r. (void mg. j.nt at * int 亙工寸7 char s C1C 24: return NULL; meinsex ( s, u, sizeof (s); redSTDIN FILEHO, ol

16、fio 5J, siz&of s); atrJen (=1) f C); printf recT failed 備 sAmJ strerror(exro) ; break; while(1) int: re Cf sizseof (sj ); reek? put ; a adz1 ”耳二口 adc.E. n a.:i r LJI-T- a ddf - a 1 j if eoanfl-ct nEp tzuflt. DSffkaddx -1 . aiicof IhdlrF I 1) pthx ,? Ck; z u t urik NLIIL ieturn -1j L=C-j3=-t (a,

17、C r 1 XCC ( 3 I j ; nx rc xeev (stj Sj slzsiof (s ? ;| If (re = | p rin . ccinneict failed: n* r atrerrox errnop t , xetuirc. ZX二 H TaZATRE; 丄nt (lut axg, ah &r *args () if (arg DRZ &onz sizeot (on) -1) d printf (seseckopt failed strerror (errno); “turn EXITFAZLURE; struct j ockaddr_in Addr;

18、 (iaddr, 0, sizcof(addx ; addx.sin_fmnily = &F TNFT; addx.minjairc 二 htons (port); addx . sin addr . s adcdx = htonl (IMADDR ANY ); if (bind(st ; return EXIT FAILURE; xc uuxii x r%xxjXMz ) - if (lien (st, 20) = -1) printf(listen failed %3nrtr strerror(errno); return EXITFAILURE; inc client_sr -

19、C; struct sockaddx in client addr; pchrcad_t thrdlr thrd2; while (1) raenset ( cliEn*t_ddr 0. sizeof (clientaddr); socklen_t len = sizeof(client_addr); /accept會陰乘,啟到肓客 Q 端連接過未9 accept:返回client的socket, client_st = accept(str (struct sockaddr )&ulient_addr r &Len); if (client_st = -1) ( 一 pxJL

20、ntf (*eiccept failed %sn* / stxexxcx (exxno); return EXIT_FAILURE; 1 print ( raccep七 by %snn f xnot_n,toa (c 1 ient_aaar 9in_md4匕); pthread_create(fithrdl, N3LLr recvsocket # tclient_st); close(st: retnxrn EXIT SUCCESS; Client 終極版 void old *arg) 31 In七 st = * ( int * ; char a 102; vhila;l t enset is

21、, 0, sieof is): J-ILt JIC = r ec-v ( st r 3 j sxeof (s) F Dj / if (rc 3NO, n* sizcof ;o); send(st客# strlen(DJ; re tu.r n NULL : Int Hjaxfi I Ini. uzgr etui. *a | 3( f artrf F 丄n Adkiz; e&eeicf占dkhr# 7. alaoor4 adklr 1 ? _ 4.ddr Ly AF I ffET ; adrfr -an_pc zt ht-3ns ip-sr t ; s.d= x j - in_addx .

22、 _adkLE .*! t_a dcx (亙工 gs Lil; = bf十幻 I . -J jk E|L V 2_1-| | _=. 1 ;c nTuSrct ;at.r s-triict. 30ckdddr - a.dadE, fllzecif addr -1 E I PElS.t (cojineet failBdl t- Eor IEETID i j ntibim EXIT_FMLURE; ptMrea d_t Thrdl, tMrdli r pthrejadcx-iMtc thrdi sjtrtJL. recvsoiclKrt, 3tl ; ptk.raad *tbk3d2r StTZL

23、L sfirids-fbck-at r ;*.】; ptlLE 日3 d_j OLD I tSlfdl NULL I : J n-tvrzi miZ_OTCCE35,- Server 終極版 struct ps int st; pthreadt thr; poet = atoi(acqs1|); irX 8t = socket(AF TKETz SOCK SEEAM. C); ire on a 1; if (00tockopt(at, SOL_SOZKETr SOREUSEADDR, &on, si.zoo(on) L) ( printf (aetockopt tailed *i8n9

24、 srrerror (rrno* ); return EXIT_FAILURE; struct 5ockaJdr_ln addx; nenaot(&addrr 2, sizco(addr); addrnin_maily = AF_INET; addr min_port = htons (port;); addr 3in_addr 3_ addr - htcnl(INAEDR ANY); if (bind st:# (struct: sokaddr * ) iaddrr sizeof addn ) -1) pthred_mut*x_t PTHPFAD_MUTFX_TNTTTALT2?in

25、t status = 0; void xrecvsoaket(void arg) 1 struct ps xp = (struct ps int st = ps 七; char 1024 whilo(l) ( momoo 匕(q, 0r olzoof(D); int pthroad_mutcx_lock(&rcu 七 ux); status 0; pthrcad_mutex_unlock(dmutux); (p thr) ; return void 48end8ocket (vol_d Aarg I LGTSGCS, 0r sizeof main(int arg ahr if arg

26、( printf(bind failed stxerror(exrno); return EXIT_F?LILUF.E; _ if (listcnCat, 20) -1) ( print f (listen f ai ld scr); ocklen_t len = sizRof(clientAddx; g 夕 fl - AlMW client_dt = accept (dt, (struct sockaddx A)Sclioncaddx , &len); pthread mutex_lock ( CaiutexJ ; Sf U3+; pthread_mutex_uxilock 4a匸e

27、x); 1 (status 1) I close(clien_3t; contiitue; I i (cli ntst -= -1 I _ printf (accept failed %snr srerrcr errno) ; return ZXTT_FA,TLURH; _ pzintf (*accep by sXn*, inetntcxs (alient_addr . sinaddr); struct pa psi; palcliont_st; psihr thxd2; pthread create(fcthrdl/ NULL, recraocket, &psl; pthread_d

28、etach.(thrdl); pthread_crea*te (&thrd2r NULL夕 sendsocket, &client_st); pthread_detach(thrd2); _ close (st); return EXIT SUCCESS/ Server 和 client 之間進行文件傳輸 丄.SUFFIXES: .c -o 2 3 CCflCC 4 S ERVERSRC Server. c i |lUb. fi CLIENTSRCSclient.cX 7 puh t 8 9 WERWEROB 藥巡託粥 RSRCSee) 18 C LIENTOD3 S 斗 CL

29、IENTS FCS :- Jt(SEKVfROBJS) ) 16 f(CC) -fl $(CLI6NTEXEC) J(CLIEMTOBS) 17 亠 疤亠眄ok * - 15 ;g .c.o: 陽 5(CC) -Wail -o 理-c 21 22 clean: 23 rm S(SERVEROBJS) 24 rm -T 1(CLIENTOBJS) 2S. - f rnrR* Clie nt.c #lrrelud* #xncluda sirdlib. h ftincluda rpuh.h Int flurt(irtt 僅戶g# har fcar) 卻 ipart; rnturn EXIT_FAIL

30、UR E * pr intFCs send begirvn f ags jj) j i/F (sendwork, dport,. aig;s3) = 1)/|?JK* Si二 prlfltf(n%5 said succcssXn ars(BJ); AIEA Pub.c wirdef hl Wincludc WinSo ttelx WiAcludc Winelude Winclude Wincludc #includ include WtFT dnt endif Wiicludc WLcludc Hpub.hr define BUFSIZE 2621U /256k void get filena

31、me (cont chr filename, ch 廠 *naie)/ F4Jfl: /hoaie/tes t/ab C ixit leci = strlcn( filenarhe); dnt i; tor (i = (len - 1); i = a; i-) ( ( 訐(filpnAmA ji = *) I I (fi1AnAmpi = /) br _ strcpy(name, &filenanei 卜 1J); return; SOCKET ffnWBBMTV/ocket 仃 Jn*windows. IMWIK 代瑪 ifdcf WIN WORD wVersionRcqucsted

32、; WSADATA “m 十 z; mt err; wVersionRequested HAKWORD( (1, 1); cm = WSAStactupCVorsionRoquostcd, ftwcaData); if (err != 0) ( roturn -lj if (LOBYTE(waDota.wVcraion) I 1 | HIBYTE(wsaDota.wVersion) ! 1) MSACleanupO; return -lj endf roturn 0j 64 SOCKET 65 66 67 68 69 70 71 72 73 st char -hoslndfie, inf p。

33、廠 t)連惶邦 5 定出主悅和滇口號 if (init_socket() 1) return 0; 75 76 77 78 /y 80 81 82 83 84 85 SOCKET st = socket(AFINET, SOCKSTREAM, 0);/立 TCP ocset if (st =x 0) raturn 6; struct sockaddr in addr; mvrcet(&addr# 0, sizo( addr); addr. sin_f wily = AF_1NET; addr.sin_nfrt = htons(port);/ add 廠.sinaddr. saddr -

34、 inetMaddr(hostnafBe) j/ZMfe1 if (connect(st, (struct sockaddr ) &addr sizeof(addr) = -1) prlntf(connect to %s:%d failed %sn , hostname, port, strerror(errno); return )else return st;/5. gBocketlBiin socketMcrent(int port )/Tt hitn 2.erverWiocket IT (init socket() - -1) reum 0; SOCKtT 5t socket(

35、A_INtT, SOCKSIKt/VI, 0) );/S ICP socket (、Q - 0) return 0; /WI2socket力 ; Wlfdcf WIN e char on = 0: L*f (wt Ktrcrror(errno); return 0; 1) struct xik&( (Jd 廠_in addr noncot (&uddrf 0, tlxcof ( jddr); addr.sin_family AF_INET; f(port); addrsl.n_add 廠s addr = hrcxil(INACOR ANr); if (bmd(st (struc

36、t sockaddr *) &addr* sxzeof (oddr) - l)/scrver-M5ocket prints(wbind failed %cnM, ctrorror(orrno); return 0; prlnf(Hlisten failed %sn*, strerror(errno); return 0; prlntfCliiteci juccejn*f port); re-turn ct; , ,8和命加 jg 回 grvars“ovjj 辻 77 struct soc.kaJdrin client_ddr; ifdef WIN int len 0; ncd irvt

37、 len = 1 len - sirco-f(clicnt_oddr); ncmset(&clipnt_addr, 0, sizeof(client_addr); SOCKET cliefit_st = dccepL( (llslen_st, (struct sockaddr ) &cllentaddr, &lcn);/accaptfaS 8511 liotdftlcarvQrga if (client_st = -1) print(wAcrppt fai lpd 肚n* trerror(prmo); return 0; )else printf(Maccept by

38、%sn, inet_ntoaclientaddr.sinaddr); re-turn cliGntst; rTt5Et char *filendree)/, ft Qtne 拯曲 HMMBpoman口彎 i* (st e)/ fc 加直回 return 0; FILE 卄 d afopn(Filcnarte/ if (fd M rb ) fi 1” cEtt 件 =MJI i ffltivsm printf (open Xs failed %cn filcno-no, strcrf*or(cnrno); return 0; char 4but = fnalJoc(tL.Zt); ; /ffit

39、i- i zOE. ncmct(buf, 0, DUrS12C)j gotf i lonano(f i lonanp, Jfth /hooo/tact/abr. txt.txt size t rc = send(st, buf, strln(buf), 0);/HMF 1MWfR (rc - e) if (rc 0) ) printf(wsend failed %snj trrror(errno); else printf(socket disconnectnM); else nemset(buf, 0, BUf-bIZt); if (recv(st, buf, BUrSIZE, 0) ) 0

40、) )/婆攻杰廣姬伯夏 if (rc 9) while (1) nemset(buf, 0, BUPSTZE); rc x frasd(buf, 1, BUFSIZC; fd);/“俸 住如後 W W 畀 Eak if (rc V 0) printfCfread failed XsnH, strarror(errno); broakj QISQ ( rc二 qand(毗,bufz rr? 0);烤 0 立件*栽說澈湊51;北。寸古匹予(2 戶弋 1|KCr ;r (rc v 0) )iW 友代 Tiebreak IT (rc a) printf ( H send failed %二門爲 ctr

41、error( (Grmo); Ql$a prln-fcf(*socket di5ccnncctnH); break; ) SOCKCT 丄- 5x.kct_crele(port) j / /:| . yktr Gpoi -WStA 口: if (liton.ct*= 0)対椅品弄 3,敖八訛真處 血話 60 return 0; SOCKET st socket_occept(listenM3t) ;/*WRHclientl9iiSe socketccept3ttSEJclicrt(J5Ocket if (st = G) return ; char *but = malloc(BUFSIZE)

42、;/n?rTmK9ix FILE fd - NULL; neaset(buf, 0, BUFSIZE); gix_t rc - recv(st, buf, BUFSIZE, 0); if (rc = 0) ( if (rc trcpy(buf, OK0); -buf# ctrlon(huf), ft); 產(chǎn)負測農(nóng)待 if (rc = 0) ) printf (send foiled XsVn*5 , atrerror(errno); else prntfsoukEt disconnectn ) j ( ( nemseiCbuf 0, BUrSIZE); re = recv(st, but, B

43、UFSIZE, 0);/IHt3SficlientfiWl, i* (re “ e)/*tfRclientiff. f文伸*RMS*fifllnbreo if (rc printf (Mceckot diccornortn,); break; also M“( (bu 化 1, rc,佗);俺從 Jiang(腋労的內(nèi) UE 入袤律 3EEE(fd力關祐呼沖 Tree(buf); ffitdef WIN ; rrgdlitc J rncjlefiilrwio ttaiUt 也 Epybx flEj Kivp-E 3 K * * server, cP 810 4l HeLud Ulricliid

44、cstdlib, h ifincludQ ,ipub.hBl 11 17 irr+ nain(int arg char- 14 15 1盼 If 2 也 2兒如援洼円尹斬耐(啕靜謝出 ( prin+f cagtfit pnrl- n* ) * return tXJl FAILURfc J 19 ?A 22 j j w Lnt iport = a+oiC a res 1J )* ;./1- s- 4- asw *i-x : f n 護皿 s 汁叢亡邊:Jn 號上,廣 if (iport = fl) ( pin-tf (port ltd is i nvaldr l1j, ip-cr); retur

45、n FXIT_F4!IURF; 25 27 ? 36 p 嚴工任事尸口若“ i ho ginnil! )i; i-f (nacv_wDrk ( iport = 1)/ /ir erisQcl.:tfiji-:?=FpZ f 丄 i 呂 t 苔 rr 拮我*自 11 :erriS 若?b 斗 prlntf(Mrecv successkn); 舌 lx i prinif(nr*v Failnn); rttum tXl_SlK.LtiS; Myqq WOE ANSI CODE 3Q PARSE.PARTIM THREADS-YC5 ON J:NaQ, PROCSRCS) INCUUOE(ORAFLA

46、CSl) XMCLUP$(WAFLAGS2) )CPOOL-YCS rOQE-ANS rm f $06JS) rm f $D6SRCS) rm -f core* const char F F7 7B B9 9101011111212131314141515161617171919M M “21212222232324242525262627272828 溝3333class 呼 orxle LJ n/OT4cn(CQnt chr wOySQL) )i void sqldisconnoctC); cH8t char alJser const char Pi&svtord, const 廠

47、 KYORML_ / G*i myo4k.pc K rnyortcldh Na e Author Version Copyright Desription include Hincludo include tring Ninelu*dd yoraelErrpr$tring512; = 0; tE*rprSixc 二(方 ErrorStrin%): st b void yoracle: zsql.initO j I SQL CODE 0; ra_pContxt NULL; EXEC SQL ENABLE THREADS; EXEC SQL CONTEXT ALLOCATE :injpContex

48、t;/RjContext FXFC SQ1 CONTEXT USE :m pt chi.ir S4JLCOOE = d; sUser = User; = Paword; SrvQL = DBNainc; EXEC SQL CONNECT ssUser lOfNTIFIEO BY ssPassword USING :sServer;/HMoracle if (9QLC0DE ! 0) sql_error; 疔 tQMblUl return -1; ( rQtvrn 0; ryorotle; 5ql _open(con5t char DySQl/mltSELECTiSo) iat r5ult 0; fXCC SQt MJH DfClARf SEO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論