Sunteți pe pagina 1din 11
Teste grild rezolvate Care dintre afirmatiile de mai jos sunt adevarate? \ 42) ‘Instructiunea care deschide ser ax. txt pentru citre sl ratureazd un Pointer cate figerul deschis este dam Cte td RP) “enfopon (rer ene ext") 7 OM ® Pentru a putea eit din fisicrfolosim atibutul "e" fa deschidere, iar pentru a ‘sctie In figie I deschidem cu atributul "w”. i (D Pentre testa dacd nu s-a ajuns la starsitulfisierului refer de sate teeoe(e).—1 14, e460} @) Pentru a inchide fierul referit de pointerul € vor scrie clos €@) Ni una dite afirmatite de mai sus ru este adevBrat 41 _Solutie In C+ fisierle pot fi prelucrate in dou moduri: la nivel inferior sila nivel ppointerul £, vom ce super. Un fisier prelucrat la nivel superior poate fi privit ca un fiser text, in care informatile se memoreaza sub forma de caractere ASCII, Acestea pot fi dispuse e una sau mai multe lini (réndut) de caractere, de lungime variabila. Exist@ un ‘marca special care stabilste sfargitufigierlui "End OF File") CCaracterele dint-un fiir, text pot fi att caractre tipéibile(Iitere mari i midi, cit, caractere speciale) cat si caractere"albe" (spat, TAB et.) Dintr-un fsier, text putem citi valor ale unor variable de diverse tipur, Spre exemplu, o sceesiune de caracteretpaiiile, cuprinsé inte dous caracterealbe, poate fi cits Intro varabla de tip numeric, dacd respects formatul unui num. In acest caz, suocesiunea respectva de caractere vaftransformats In numérulaferent. Inainte de uiizare In rogram, un fier text trebuié deschs cu functia fe . fopen. Funcia priest doi parametr: numele fier (nso, eventual, de calea spre fier) sun abut care inca tipul opertilor ce se vor efectua asupra acestia: > Ei fen ete descis pot ctr, ~ "w= fiserul este deschis pentn i 2 pentru scriere (daca el exists deja atunc "a" + deschide fsierul pentru ad fecageee| gare la sférgit (decd nu exist, "B'S deschide figierul in mod bina. 152 ee ee ‘Atibutele de mai sus pot fi combinate folosind intre ele caracterul "+", de cexemplu: "e+". + unclia Eopen Intoarce un pointer cate fisieru deschis. Acest pointer este ndefinit "FILE. *", care Se gaseste in header-ul atdio.h. Tipul FILE matile necesare Identificarii gi accesului la fisier astfel incat este pointerul € descriptor do fisior sau, pe scur, fisioru do tipul pr confine infor legitim sa numim In concluzie, sintaxa functiei €open este =fopen (, ) ; acd vrem s8 deschidem fiserul nx. txt pentru citre, atunci corect este fefopen ("nr txt", "") 5 ‘Agadar afrmata a) este fos iar afirmatia b) este adevarats, Apelul "I£e08 (£)" este corect. Functia feof(£) retumeaz®: 0 valoare teria de zero, dacd s-2 ajuns la sférgiu fisleruli £, respectv, zero tn caz iteof (£)" inseamna "feof (£)==0", deci 0 testare de forma "a ccontrar. Dar £ {feof (£))" se traduce intt-adevar prin "dacd nu s-a ajuns la sfargitu!figierulut (funcjia £eof a returnat 0). Agadar, afirmajia c) este adevarata. Functia care trebuie apelaté pentru inchiderea figierului £ este felose(£)(utlizaté indiferent de atributul dat la deschidere). In consecinta, fap o) este fas rae gaat en spans covet: b) $1 © ‘Se considera un fisier definit prin pointerul £, gi care conjine urmatoarele valori pe primele dowd randuri: Core ante sdcveniShe Ba instrucuni de mal os vebuie execute astel Inca toate variable deqarate a bymeasca valor cite di fserl £7 a) facant(e,"¥a/se/sa se\nh~dky 6a, cy, , Variantele o) #6) se imina dn tart, deorece desspton deer, «io tit rove) ete bl parame gnu pri CUM Or Hore Fan Stage varnta corecta dine cele tre rimase, apc urmatoy fer sunt patru valor, deci prim epel al procedur Pe primal nd tM valoie. a pat variable. Analog, al dollea ape FESERE obo sd cteasc doua variable, Inruca pe al doles nd tn fier sun, Sa5s vain Toate cel te vananterdmase n discuieIndeplinesc aceasta erin ln urma primi apel facanf, clcuatorl va Incerca citrea succesivg color pat vaio de pe pimul rd, In cele patra variable date ca parameti, Day thul velon cite rebuie $3 corespunda tipull variable In care se citeste, De aceea,citea jfacant (f, "4d 4€ 8d $£\n", Gx, Ga, bY, 6b) ;) din vatianta a) nu va funciona corect. Calclatorl ar trebui s8 memoreze In variable Umétoarele valot: x 4a & Ty € 2.5, © “6.23. Si totus, rezultatul citi va fi umatorut: ‘xed, y=2, a=7 000000, b=0.500000, c= (etd ce se intdmpla: = Valoarea 4 de pul intreg, se citeste In varabila x tot de tipulIntreg, — Veloarea 7 de tipul Intreg, se memoreaza in variablla a de tipu ‘£loat, sub forma 7.000000. Este corect, pentru c& 0 variabilé de tipul Eleat poate memora o valoare intreagai (muitimea numerelor ‘ele inclu mina numero neg), D8 menonat cd In uma 3 la Eloat, valoarea 7 arr a tn Lon, primeste numarul implicit ~ _Variabilay ar trebui 88 primeasca valoarea reala 2.5. Dar y, find de {pul int, varmemora numa 2 (pata nega aul 2-8). ,4=6.230000 Jrmeaz8 citivea variable! b, care va continua de unde s-a cori citina {uly pind la primul spat, deck va rezlta md .800000 Pentru c8 nu $2 ajuns la stirgit de rind tn figler, & doua instruciune [eecant(E,"¥e ¥f", 60,44) :) va Cl tot de pe primul rind | atfel, ajungdndu-se In fipior la valoarea - 6.23, In varita @ do tipul ‘Ghar #0 va ci caracterul "=", lar variatila d de tipul €Lowt va primi valoarea 6.230000, ‘Analizim acum varianta 0) pentru a constata c& ea este corectt een « 4, y & 7 (primele doud valor de pe primul rnd sunt intreg, {ar variable x iy In care 6e cits sunt tot de pul ine + a & 2.5, b © 6.23 (ambele valor sunt rosie. ca 9 tip variabilelor a ib) 8 ee FY, d & 9.000000 (50 citogte caracterul'# In variatila @ e tip char, apoi valoarea Intraagd 9 In variatila d de tie font care include numereintreg)). Varianta ¢) este eronata. Primul apel facant functoneazd corect, dar ‘apare 0 eroare la al dalea. Prima valoare do pe a doilea rand este caracierut', ‘se Incearca citiea acestua In variabila d de tipul Float! Osservopie: Aga cum v-ali putut da veama din explicatile antenoare secventa Escape "\n" din specificatoru de format nu ave rect un efect in func facanf | Trecerea la rnd nou In figier se va realiza automat dod citrea Umer valor de pe randul curent Rispurs coreet: 0). (ees) Tn umpul executie! programulul urmaitor sunt posibile urmatoarele situa Hinclude void main () t rir + int xl,5=0; pdr fafopen ("suna..tat","2") ; 7) while (eeot (eh 6s x) oF DP% | Escant (£,"4" Af (282) ‘seme: : ) fold) felose(f); ——* . prince (rasstaa); —y erute< $3 y Programul este corect sintactic. 2) Pentru a functiona citrea din figier, acesta trebuie deschis In alt mod. 155 Scanned with CamScanner ciclu infin. in c&te un Pearman ce gg et ne Pali, rumerele 2's 4 3,6 1 6 7, alunc Program YE od In care a fog €) Modul in care este Inchisfisera! mu deschis, —@_Solutie nul ‘Vom analiza pe rénd instructiunile PrOBTETTE N atributul "= In functia figierul pentru citire ° — ma ee a erorul £. $e initiaizeaza variablla $ cu 0, variabils x, stese pe rand numerele din fisier In aceeasl cat Sa ni ene cipal soenad # 9 iomee’hl © one cer de cary (ie et cn emt) Sateen ty a ‘adauga vaoarea li xia $ (5¢=x:) ramul este corect sintactic, deci afirmatia 2) este sss rogram eteste numer dn fiir, n aceeas variabiléx,pand ia in fisier sau pana la sfargitul fislrulul (dac& nu exist ici un ie 2 2 ee ececiccne ‘Am tdspuns asl safimatiel c) care este fals&. Afimatia b) este la andl tale abt = dt fa aol funtsiEepen ese cel coect pen citiea din fiir. ‘Ajimatia d) ese fals. In figer sim numerele 2,5,4,3,6/2,0,7. Se intr tn cict, se incepe cite succesiva alor in aceeasi variabilé x, valorileimpare intr cele cite se adeugé la, dar ciclul se Incheie Ia tntnitea primului zero in figier. Aga se face c& numarul 7 nu mai este cit, iar valoarea lui va fi 5+3+3, adica in srg, afirinaia e) este falsd deoarece incferent de modul in care a fost deschis, Un fgier text se inchide cu functia felese (care primeste ca parametru descriptor ser) Programul conjine un mic "bug’, adicd 0 *eroare ascunsé care se ‘manifesta in anumite cazuri partculare. De exemplu, daca fisierul ar contine doar Nnumrul 2, atunci valoareafinala a lui 8 n-ar mai fi cea corecté 1, ci 2. Explcatia este urmatoarea: F st URE SW 4, ura Zant (2) rua itr ind 1 peu 8 trea cut cu succes. Se reia deci bucla, acum citrea esueaza pentru c& nu mai Sunt valor. Ca atare, NU se face citrea, deci x rlmane cu valoarea anterioard 1, Gar aces Sema asad oda ia 918 devine 2. Acum,Int-adevr, Zoot (£) yea 1, deci bucla nu se reia. Altfel spus, inicatorul de start de fier intors valoat aintors Mraiat numal cénd so face o tentaliv’ de cite dup trea ultimei sso. sonnal Inrogisrar ‘Réspuns corect: a), Fre figierlidentificat prin descriptorl £, avnd urmatorul continu Care dintre secventele urmatoare de program Si, S2 $i S3 poate fi ‘executata, asf, inc in vectorulv 88 se citeasc& corect toate numerele din fier? ) AO //secventa St ysecvents@) hel ul Gacanf(£, "6a", 60) ; {07 sy for (in0;i 1 facanf (f, "td", Gv[i]); itt; Seo. do pom jot : ah facant (f, "8d", ov(i]) 7 i++7 } white 1608 (£}) ; neict; Lego a) toate b) niciuna ¢) numai St si $2 (d) numai S2si $3 e)numai St —G_Solutie Toate secventele citesc un sir de numere din fisierul £, int-un vector v. Deosebirea fundamentald inte ele consté in modul cum se face citirea, mai exact, Tn numarul de valor cite. Secventa St: Cu instrucjiunea fscan¢(£, "td", én), se citeste de pe primul rand al fisieruui € numarul integ 5, care se memoreaza in variabila n. Intr-un ciclu fox, contorul 4 ia succesiv valorile 0,2, ..,m-2. Pentru fiecare dint aceste valor ale lui 4, prin instructiunea fscang (£,"¥d", évii]). ‘se citeste un numar din figir gi se memoreaza In elementul v[]. Astil, de pe al doilea rand se citesc in vectorul v numai n=5 valon, gi anume: ¥0}=2, vi1]=3, v(2}=4, v[3]=6, v[4]=7. Numérul 8 a rémas necitt. 137 Scanned with CamScanner Sorat 2; . La fiecare pas citim un Girmromerele cin ir iran cil wate? numér, addugéndu ea element nou la sférgtul YECPT eyident, ital, vectory) Notém cu & poziia ual element este gol, deci ino : s¢e08 (£))? CC timp nu am ajuns la start! sera (WE6 TT Vectors + etm un numa in fim fem waa ev [32 «imamate 1a vec, pocaresovamenor nimi raceme a aaa ET vocsy Veoarea final ut repre ua cin fier, char daca ele se (ent). Aste! se vor ln waco Pe ies unui numar dt ise indicator ase nie peat rule ae uma can cae rum cit a fost ultmul pe randu curent Pentru figierul dat > la os v(0)o55ir0¢h 1; pasul 2-9 v(1)=2 913214 , eae ys etaiaa gl inaele3 gm, pend se ajungo a stargity figeruu. eS scamnsor, doar ce folosest un ciclu do-whi in log ee tele 52. S3 vor ot in vectorul v toate ‘Am arétat o8 numai secven ‘numerele din igirul £, - (Ge fumar ce va gsi pe al patulea rénd al fisieruul "¢.txt™ dupa fweciiapogama emit? ge notre 8? Hinclude void main () ( rine *¢; S=fopen("4. txt", "") 7 Ant n=8,4=0,v{8]=(1,3,8,5,0,6,7,4); white (v1i}#2) wade .(s include void main() { FILE *£,*g; fe int @; char ¢1,c2;-—~ si retumeaza caracterul cit. Executs > cileste un caracter et din fisierul £ $i un caracter 2 din fisierul g (clegete(£) si c2egete(9)); > daca gaseste 0 perecie de caractere (c1;,¢2) difrite,atuncifgierele nu mal pot fidence, dex ia valoarea 0. + Cat timp nu s-a ajuns la sfarsitul unvia din figiere ("! (£e0£ (£) | |£o0£ (g) )") ‘ST © este diferit de 0. Observam c8, daca la un pas al cicluui condita “cL!=c2" din linia if este ‘edevarata, alunci variabila @ va primi valoarea 0 gi imeciat dupa aceea testarea Concitie din nia white nu va mai fi Indepiinits, fapt care va determina iesirea din ‘ici Astfl, nu se mai compard in mod inutlrestul caracterelor (a fost suficient s& ‘asim o pereche de caractere diferite pentru a trage concluzia c& fisierele nu mai Suntidentice). Doct pin acum fiero sunt idence (e est 2), mai rebuie testat un caz: posibltatea ca unul dintre fisiere s& contin’ nigte caractere In plus f Celt eda um aun a sagt antares ele soed 160 ee tee fore nu vor mal fidence: (2 (1 (£006 (£) cete08 g))) 9=0:} pputem folosi functia Observatie: Pentru a scrie un caracterInt-un fi pute (, df ito finclude PILE +£,49; int int, char s[11],cl,c2; stores 92 teeta)? a Maebseanclg erat ats finan g CEES oN fputs (3,9); fo? wrl4e) 27 5 5 tee FGosetih erosey: ai Py ; : woe ky, gece ong? » meet] y [Bon o aot ¢ [poet —a_Solutie q Functia {gets (,,) citesle din fisierul cu descriptorul primele caractere ale girului , incepdnd cu Pozitia curenta a indicatorului de fisier, Dac’ este Intdlnit marcajul de rand nou, trea se opreste, iar succesiunea de caractere cite pana atunci este Inscris& In variabila . Functia completeaza variabila cu caracterul NULL Funciia fputs(,) scrie situl de caractere In fisierul cu descriptorul . Programul opereaza asupra fisierelor £ sig, deschise primul pentru citi $i al doilea pentru scriere. > . : aed tee 161 Scanned with CamScanner : veloarea Contorul al cilului white este inializat la declarare faa . Instructiunea "while (i++<4)" este trataté astfels i fe ccurorié Ii, iar = Se executd expresa gid "ice" cu valoatee Vales accel expres (1 sau 0) va decide dace #2 fis SA nu ictal = Se erementeazd 4 ev (4+), nro dak se va mel say eae jer € un numar de 20 Caractere, La fiecare pas al cilului se citesc din fg care se memoreazd ca grin vabila » (Egets(2,20,£) 7}. Dat send coring pe fiecare rand cdte un sir cu lungime mai mica decat 29 cures 5 ‘viares" ec). Rezulta 08 la fare tire ese Int marcajul de r8ne no (are Intrerupe citirea) inainte de a se ficitit 10 caractere. In cones pt a Deena la fiecare pas este cit In varabila = tot textul de pe un rand al igen dea) pagiiciclului, in cazul In care *macheta”fisierulul £ este cea din Initial, 425 ‘ Pas 1; i<4 7 da= i++, in? 91 ctegle s="buni” Pas 2: sh? da = S++, 293 51 teste s=rMarti" Pas 3: sb? da= i++, ind gi Giese serMSeroeL” Pas: Sek Zr ise, S58 i numa i compl cic + Dupa egiea din cil, se seri In fiienl g: valoarea ll 4~ caracter “spats * [Eprint#(g,"¥d ",4-1) ;)}, apol finul s="Mierciirin {fputs(s,9) 7 Aprofundare i Ce valor va afga programul urmator, dac figierul £ arat® ca mai jos? (ac 480 4082-858 sn ef eA (prin *:" am notat caracterul PHN hile fincinde , 2) 610,92) G9 Ors D7,0,-9 e615 Figierl este deschis cu abut "s", adie’ pentru cite, | se asociazs i ¢. Prima instructiune de citire fscanf(£,"td &4 t€", Ga, ib, 6c) ore 'b gic primele trei numere din igi. Astel, vom. ‘act corect In variabille Intregi ‘pvea a=1, D=11, o=-4 Functia £te12(£) retumeazé pozitia la care Sa" ajuns in fisir fata de tnceputu fiserlu, masurata in numar de octei (Caractere). Oupa citrea de mai wr ndicatorl va ajunge la gapte octet fata de Inceputul fisieruu. De oe 7 Prin Stir" sant peste un caracter al valor 1, un spativ, doud caractere ale vari 22, ‘red un spatiu, dou’ caractere ale valori ~4, Valoarea retumata de catre funcha ‘feeil (E) este atributa variable p, deci p=7. Functia fseek (

,,) reaizeazé mutarea indicatorlui in fislerul cu descriptorul

, la un numar de octet, raportat la orginea . COriginea aratd punctul fafd de care este “mésurata" deplasarea: 0-> fafa de Inceputulfisierulul, 1-» fafa de poztia curenta, 2-> fat de starsitul fisirulu. In cazul nostru, In urma apellui fseek(£,7,2) se realizeazd o mutare 3 indicatorului in fisierul £, cu sapte octeti, falé de pozitia curenté. Deoarece indicatorul a ajuns la caracterul cittulimul, el va ajunge s& se pozitioneze pe cifra 9. Cele gape pozii peste care "va sri" sunt: caracterul"spatiu" de dupa -4, cele doud caractere ale numarului 12, spatiul de dupa num@rul 12, caracterul ce reprezintdcifra 8, spall de dupa acesta, si serhnul "=" care urmeaza, Urmatoarea instrugjune din program, Escang (€, "ta", Gx), va reusi sd citeascd in varabila x doar cia 9, deoarece semnul "=" a fost sari" In sfrgit, functia £eoe(£), apelath ca paremetru la prints, testeazd sfargitul de figier’ Ea retumeaza 0," dacd nu a ajuns la stargitu figieruu, $1 0 vvaloare nenulé, dact indicator se aa la stargit de file. In cazul nostry, dupa cltirea lui x=9 din fsier, indicatonul nu a. ajuns ta sfargitul figieruu, fone ce) retumeaza 0, iar !feof (£) va fi 1 (‘not" 0 este 1) $i In cazul acestel probleme este valabilé observatia facut la strgitu rezoWvati probleme! .VL3. ‘Asadar, valorile afigate de c&tre functia print sunt, In ordine, 7,2, 9. ‘RBspuns corect: ¢). 163 Scanned with CamScanner Precizatj care dint afrmayile de mal jos sunt adevarates jerul cu descriptorul . 2) Funcia rexove (cpointer: 5 B ranks revel cpotaery) see en osteo epee stg ) Functia terror (f) intoarce o valoare nenuld, daca fisierulu £s-aInegistat 0 erare. - ©) Daca v este aieecee intreg, iar £ este descriptorul unui figier, atunci instructiunea (fread (£,8,1,v) ;} este corecta @ Pentru a positions incicatoru Ja inceputu fisieruui revina(e). 4, Seokp (0, 1051: keg); ©) Nici una dintre afmatile anterioare. —G1_Sotutio «+ a) lntradevar, stegerea fiiod a unui figier se realizeaza cu functia senove, 6 atecla Yes oa pmeascs cept parame numeo completo fisierului (eventual si calea spre @l), nu descriptorul sau. Exemplu: renova ("nunere. tx", = 2) Aceasta atirmatie este adevaratd Functia fexror(f) permite verificarea corecituin ulimei operat efectuate asuprafisieului £. trebuie apelata functia + ©) Functile £cead si Eweitte permit transferul la nivel de blocuri de ‘ctetiintre 0 zona de memorie (de tip sir de caractere) gi un figier cu descriotorul . Zona poate fi alocaté unor valori numerice ‘a4 unor date structurae(tablour, structure. Astfel, functia fread (, ,,) citeste din fisierul si memoreaza in zona un numar de blocuri de ‘octet, fiecare bloc avard octet. Asada, instuctiunea (fread (£,8,2,v) :) este eronaté: descriptoul £ trebuie sa fie ultimul parametry, iar vectorul v care feprezinté zona trebuie 24 fie primul Nad apelul ar fi fost {Ezeadiv,8,1/£);), ine er it din fin £m vector v un loc de opt Analog, funciia £write (cbuffer>,,,) sctie din Zona in fisierul un numr de blocuri, fiecare bloc avand octet + 0 Aplin tt savin, pte pcos inden anceps faut nteent dot axe aot asa do oa une se Aispuns corect: b) $i d). geste grilé propuse | P.VEAA. Care cintre urmatoarele operati nu sunt posibile int-un fier text? 4) Mositicareaunor veo In fer, rdfolosirea etree su srutun de date. 2) Testarea sfersituul de rd In fier ©) Testarea sfargituli de fiir. scree pentcie - 9 eran pen soba do dala rep i P.VI.2. Fie un fisier identficat prin descriptorul £ si deschis cu atibutul gt, Fie, de asemenea, doua variabile intregi x $i y. ale c&ror valoni sunt ‘cunoscute. Care dintre instructiunile de mai jos pot fi executate astfel incat valorile ‘lor dou’ variable 68 fie scrise in fisierfiecare pe alt rénd? a) Sprint e(£, "4d\nta" x,y) sprints ("bd\nta” x,y, £) ) fprints (£,"\ntdtd\n" x,y) 5 @ sprints ("\ntdba\n" x,y.) @) prints ("\ntdbd\n" x,y, 48) eS P.VL3. Fie fisierul cu descriptorul € cu umatorul continut: Ce se va afiga pe ecran in urma executiei programului urmator? include void main () FILE +E; int a, by float x, fefopen("intrara. txt", "x! Escant(£,"8d $£\n", 6a, 62 fscanf (£,"8£\n", by) 7 facanf (£, "td", 6b) ; printé("\nastd xf y=¥f betd",a,x,y,) ; Eclose(£) ; 16s Scanned with CamScanner 4) a=50 x=2.000000 ye1.400000 bed 8) a=S0 x=2.000000 y=1.400000 be3 ©) 350.0000 x=2.000000 ye1.4 ba3-000000 @) a=50.000000 x=2.000000 y=l.4 ‘p=8 000000 €) Cite din fier vor equa PAVIA, Fie programul urmator: include void main () ( FILE *£,4 int a,x/3; Eefopen("in.txt","=") 5 gfopen (Mout. txt, "0": ‘scant ("8d", 6a) ; while (1£00f(€)) ‘ 350; while (Sca && !£eof(£)) ( fscant(£,"8a", 6x); St=x7 ) fprinté(g,"td ",8)7 ) felose(£); fclose(g) printé ("\ns=td",8) 7 ) acd de la tastaturé se introduce valoarea 10, iar continutul fiserului ‘in.txt" este cel de mai jos, cate numere va scrie programul in figierul tout.txt!? 326152 a) nici vl 6) unul deus tei e) patru ne! P.VLS, Cte numere se vor gsi in fisierul “nr.txt" dupa executia ‘rogramului urmdtor? include void main () ‘ Ant v[9]=(0,1,0,0,2,3,0,4,5),47 FILE +2; Eefopen (nr. txt", 165 -07 Anite (4<9) {mito (v (i) ‘porinte(e, waza" vii}) i ates d Eprinté (£, "43 ans 99) 7 ) felose(£) ae os ge os 210 ——E ee VLG. Presupunem cd pe hard-disk existd figierl “car.txt” cu ‘umatorul continut: Stiind cS In conformitate cu standardul ASCII literele mari au coduri succesive Incepand cu 65 ("A'<-65, 'B'4-66, etc), iar lterele mici au codun succesive Incepand cu $7 (‘a"¢-97, "b'«-98, etc), precizati care vai conjnutul figieruli “car2.. txt” dupa executia programului urmator: include void main () ‘char cl,c2; FILE *£,*9; fefopen("car. txt", "2" g=fopen("eard txt, te) = 1=96; while (Ifeof(£)) ( c2afgete(t); printf ("4o",c2) ; if (carci) fpute(o2-32,9) 7 elec; ) Folose(f) ; felose(g) ; d a) bdth} 6) BDFHT — c) acegi_ J CEG. e) abcdof hij eee ne 167 Scanned with CamScanner . presupuna aml uma - + ce veloae va aga FOOT Tn spall, numeree Intent craven tae gues po una SPO 13002-30-4-2 Hnelude include Eefopen ("nunere. txt" while (!£e0f (£)) ) printé("\atd", 8) / Eclose(£); ) at 72 g-2 ) Programul contine erori de sintaxa. €)_Nuse pot cit corect numeree din ier figierulul cu descriptorul g contin ce) te PLS eee programului urmator? ‘mult 100 de caractere, care este actiunea include void main() i FILE #£, 19; char s [101]; Eefopon("1-ext","a") > g=fopen ("2.txt")"5") 7 while (1£e0f(g)) ( ‘gots (s,100,9) puts (s,£) 7 ) felose(t); fclose(g) ; } 2) Inlocuieste continutul fisierlui g cu contnutul fisierului £. +) Inlocuieste continutlfisierli cu confinutulfigierulu g ©) Concateneaz’ fisierul gla starstulfiseruli £ 168, eneazi figierul £ la sfargitu figieruul g, @) Coven dnt cazurile anterioare, e) Nici un P.VI.9. Deduceti ce valoare va afiga programul de mai jos, daca fisieru text are urmatorul confinut: #include void main() a FILE *£; int 4,3)m,n,S=0,a[20] (20); fefopen ("continut. txt", "2") 7 Eecanf(f,"td 4d", 6m, 6n) ; for (i=0;iensit+) a for (J=0:3 void main () { FILE *: int x,y? f=£open(("valori.t! Eeeck(f,~6,2) 7 jeans (£,"4d" by) 7 0 nei Eacant (£, "a", 63) 7 printe("\ntdtd” 207) 7 Felose(£); , pp tsvek(£,-2,207 fooak (£/3/2); ok (£,-3,2) 7 a) feeek(£,11,0) y ik (£,2, 2) 2 vrai, recan) co re ceva a8 peal cntes And tn eng ‘propus ext’, dupa execu programuul de mal finclude include void main() { WILE *; int 4=0,3,k7 char ¥aux; Ghar *a(9]=("Marius”, "Claudiu", "3rei-Sud-Est", “Daniel”, "Vasile" , "Dan" ,"Sinacdu”, "2Pac while (a[i}) i++? for (j=0;50) « auxsa(j]; a(j]=a(k]; afk] =aux; ) k=0; f=fopen("propus.txt", while (a(k}) fprinté (f,"ta\n",a[ke+]) ¢ fclose(£) ) a) 2rac 2) Claudiu dan @) Denier ©) Marius oe annem 170 p.vi.t2. Proczali care va fi contin fier "b.txt” dupa execuia Sind cf figierl “a. xc are urmstorul confnut: programulul, finclude include void main() { FILE *£,*9 ant v{10)7 fefopen("a.txt","2") 7 gefopen("b. txt", "w") 7 fread(v,8,1,£); fwrite(v,6,1,9) 7 felose(£) ; felose(g) ; ag { 122134156 p{r2r4r6 gf 223 o[222 {@) Un alt confinut decat cele prezentate anterior. Cee eee ee m Scanned with CamScanner V1.1. b) VL8. c) Cap. VI. Fisiere VI.2. a) VI.9. c) VEL3.b) VIL4. e) VI.10. a), d) sie) VIS. e) VIL11. d) VIL6. b) VI.12. d) VI.7.b) Scanned with CamScanner

S-ar putea să vă placă și