Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Hozza létre az adat2.bin állományt magas szintû fájlkezelõ
- függvények segítségével.Amennyiben a fájl létezik, írja
- fölõl a tartalmát. Ciklus segítségével írja a fájlba int típusú
- adatként az 1000...500 közötti decimális egész értékek közül azokat
- amelyek oszthatók 13mal. a fálj méretét írja ki a képernyõre.
- OLvassa ki alacsony szintû féjlkezekõ függvények segítségével
- az adat2.bin állomány tartalmát. Összegezze a kiolvasott értékeket
- és az eredményt írja ki a képernyõre.
- A képernyõre kiírt elsõ számot szorozza meg 1millióval,
- és adja hozzá a képernyõre kiírt 2. számot.
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <unistd.h>
- #include <fcntl.h>
- int main()
- {
- FILE *fp1;
- int e = 999; // azert 999 mert 1000-mar nem vizsgaljuk
- int meret = 0;
- fp1 = fopen("./adat2.bin","w+"); //irasra megnyitom
- while(e>500)
- {
- if((e%13)==0)
- {
- fwrite(&e,sizeof(int),1,fp1); //beleirom a fajlba
- meret = meret + sizeof(int); // meret meghatarozasa , mivel sizeof(int) = 4 byte , ezért
- //ahanyszor lepörög a ciklus annyiszor +4.
- }
- e--;
- }
- printf("fajl merete: %d\n",meret);
- fclose(fp1);
- int f1;
- int r = 1,i = 0;
- int t[1000]={0};
- f1 = open("./adat2.bin",O_RDONLY);
- while(r)
- {
- r = read(f1,&t[i],sizeof(int));
- // printf("tomb elemei: %d\n",t[i]); // ez nem fontos , de tudod vele ellenorizni , hogy miket toltottel fel.
- i++;
- }
- int eredmeny = 0;
- i=0; // lenullazom az i-t hogy ne irjon bele baromsagokat.
- while(i<meret/sizeof(int)) //i-t addig totlse fel amig a tomb elemei tartanak
- {
- eredmeny = t[i] + eredmeny; //tomb elemeit osszeadjuk
- i++;
- }
- printf("Ossezgzes eredmenye: %d\n",eredmeny);
- eredmeny = meret*1000000+eredmeny;
- printf("VEgeredmeny: %d\n",eredmeny);
- close(f1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement