1 / 10

Failid

Failid. Faili avamine. Failidega töötamise jaoks kasutame failiviitasid Failiviida deklaratsioon: FILE * fi ; Faili avamine: failiviit = fopen ( failinimi , režiim ) // mõlemad parameetrid char * tüüpi Kui faili ei õnnestu avada, siis viit jääb väärtusele NULL

Download Presentation

Failid

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Failid

  2. Faili avamine • Failidega töötamise jaoks kasutame failiviitasidFailiviida deklaratsioon:FILE *fi;Faili avamine:failiviit =fopen(failinimi,režiim)// mõlemad parameetrid char* tüüpi • Kui faili ei õnnestu avada, siis viit jääb väärtusele NULL • Faili avamise õnnestumist tuleb alati kontrollida! 2014

  3. Faili avamine • Režiimid: • „r“ – read (Faili lugemine) • „w“ – write (Faili kirjutamine. Samanimelise faili eksisteerimisel kirjutatakse üle) • „a“ – append (Olemasolevat faili kirjutatakse edasi lõpust) • Faili nimi: • Faili nimi koos laiendiga tekstistringina • Faili otsitakse vaikimisi samast kaustast programmiga, kui ei ole teisiti määratud (antud fullpathfailini) 2014

  4. Faili sulgemine • Fail tuleb sulgeda selle kasutamise lõppedes. • Kõik failid tuleb sulgeda programmi lõpuks! • Faili sulgemine:fclose(failiviit); 2014

  5. Failioperatsioonid • fscanf(failiviit, sisu, …); //lugemine failist, arvestab formaatimist • fgets(siht, pikkus, failiviit); //lugemine failist rea kaupa • fprintf(failiviit, sisu, …); // kirjutamine faili, arvestab formaatimist • fputs(sisu, failiviit); //kirjutamine faili rea kaupa • feof(failiviit) // faili lõpu kontrollimine. // tagastab int tüüpi väärtuse „0“,// kui faili lõpuni EI OLE jõutud 2014

  6. Veel faili avamisest • Faili avamise õnnestumist tuleb alati kontrollida!St, kui nt avad faili „a“ või „r“ ja faili pole, siis programm ei tohi jätkata! FILE *fi; //failiviidadeklareerimine char inputFile[]={"numbrid.txt"} fi=fopen(inputFile,"r") //failiavamine if (fi==NULL) //kontrollime, et fail avati { exit(1); // exit() funktsioontulebteegist "stdlib" } 2014

  7. Näide 1 (read) #include <stdio.h> intmain(void) { FILE *fi; intabi; char inputFile[] = {"numbrid.txt"}; fi = fopen(inputFile,"r"); while(!feof(sisend)) { // lugeminekuniksfaililõpunipole jõutud fscanf(sisend, "%d", &abi); printf("\n Loeti: %d", abi); } fclose(sisend); return 0; } 2014

  8. Näide2 (write) #include <stdio.h> intmain(void) { FILE *fo=fopen("numbrid2.txt","w"); inti; for(i=0; i<5; i++) fprintf(fo, "Väljastati: %d\n", i); fclose(fo); return 0; } 2014

  9. Tunnitöö 1 • Sisendfailist loetakse täisarvulisi numbreid • Numbrid jaotatakse laiali kahte eraldiseisvasse faili, lähtudes põhimõttest • Paarisarvud ühte faili • Paaritud arvud teise faili • Sisendfailist tohib korraga olla mälus vaid hetkel töödeldav arv 2014

  10. Tunnitöö 2 • Sisendfailist loetakse sisse õppeainete statistikat formaadis:<ainenimetus> <tulemustearv> <tulemused> Väljendusoskus 7 4 3 0 4 2 5 1 Side 5 3 4 4 5 0 Lineaaralgebra 2 1 4 ………. • Tulemuste hulgas saab teha otsingut. Otsingu tulemused salvestatakse logidena • Aine nimetuse alusel • Aine keskmine üle / alla x.x • Aine tulemusi üle / alla n 2014

More Related