Hirdetés
- Google Pixel topik
- MIUI / HyperOS topik
- Örömkönnyek és üres kezek a TriFold startjánál
- Apple Watch Sport - ez is csak egy okosóra
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- Apple Watch
- Poco F8 Ultra – forrónaci
Új hozzászólás Aktív témák
-
válasz
kiskatus
#757
üzenetére
Hali!
Először is szívesen segítek Neked, a most következő rész az csak úgy kikívánkozott belőlem, NEM NEKED SZÓL!
"Elvittem az általad megírt programot és nem fogadta el, mert az fseek pozicionálást és az ftell-t még nem tanultuk."
Amikor ezt elolvastam, két idézet suhant át az agyamon, az első Hofi Géza kabaréból, míg a másik egy PH tag aláírásából származik(bár ezt nem szó szerint idézem)
"Szűz Mária idesanyám, aki a mennyekben lakozol titokban..." illetve
"nem az a baj, hogy nagy az Isten állatkertje, hanem az, hogy alacsony a kerítés"
Az aki ezt a feladatot feladta(alapszintű fájlkezelés kategória) és nem tanítja meg az alapszintű fájlkezelést Nektek(fseek, ftell stb), annak jobb lenne ha visszamászna a kerítésen belülre.
Ugyanis oly módon kellett megírni a programot(fseek, ftell nélkül), hogy nyugodtan rá lehetne ragasztani azt a címkét, hogy "A világ leglassabbra optimalizált fájl-összehasonlító alkalmazása avagy hogy ne írjunk C-ben ilyen programot"
Na mindegy...imhol a kód...
#include <stdio.h>
#include <stdlib.h>
int main()
{
unsigned long ErrorCounter,FSize1,FSize2;
unsigned char chFirst, chSecond;
FILE * Szoveg1;
FILE * Szoveg2;
FILE * Kimenet;
printf("Binaris osszehasonlitas\n\n");
if (!(Szoveg1 = fopen("first.txt","rb"))) {
fprintf(stderr,"Nem lehet megnyitni a 'first.txt' fajlt...\n");
getchar();
exit(-1);
}
if (!(Szoveg2 = fopen("second.txt","rb"))) {
fprintf(stderr,"Nem lehet megnyitni a 'second.txt' fajlt...\n");
fclose(Szoveg1);
getchar();
exit(-1);
}
//itt változik némileg a kód, csak úgy lehet meghatározni a fájlok hosszát
//ha végig olvasom
FSize1=0;
while (fread(&chFirst,1,1,Szoveg1)==1) FSize1++;
FSize2=0;
while (fread(&chFirst,1,1,Szoveg2)==1) FSize2++;
if (!FSize1 || !FSize2) {
printf("A fajlok merete nem lehet 0 byte...");
fclose(Szoveg1);
fclose(Szoveg2);
getchar();
exit(-1);
}
if (FSize1!=FSize2) {
printf("A ket fajl merete nem azonos...\n");
fclose(Szoveg1);
fclose(Szoveg2);
getchar();
exit(-1);
}
rewind(Szoveg1);
rewind(Szoveg2);
//innentől változatlan
if (!(Kimenet = fopen("error.txt","wt"))) {
fprintf(stderr,"Nem lehet megnyitni az 'error.txt' fajlt...\n");
fclose(Szoveg1);
fclose(Szoveg2);
getchar();
exit(-1);
}
ErrorCounter=0;
while (fread(&chFirst,1,1,Szoveg1)==1) {
fread(&chSecond,1,1,Szoveg2);
if (chFirst!=chSecond) {
fprintf(Kimenet,"File-pozicio: %#.8lx %#.2x <> %#.2x\n",ftell(Szoveg1),chFirst,chSecond);
ErrorCounter++;
}
}
if (ErrorCounter) printf("%lu elteres talalhato a ket fajl kozt.\nNezze meg az 'error.txt' fajl tartalmat...\n",ErrorCounter);
else printf("A ket fajl azonos...\n");
fclose(Szoveg1);
fclose(Szoveg2);
fclose(Kimenet);
system("pause");
return 0;
}Fire.
UI: ha legközelebb is kódot illesztesz be a HSZ-be, akkor légyszíves használd az erre a célra "kifejlesztett"
KÓD feliratú gombot. -
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Apple Airpods 2 hibátlan dobozos
- Bontatlan! Csere-Beszámítás! 2028.12.11 Gari! Apple Macbook Air 15.3 M4! 10C/16GB/256GB
- Apple Airpods Pro 3 2026.11.08. Apple jótállás
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600 / RX 5700XT / 16GB DDR4 / 256 SSD + 2TB HDD
- Magyar menüs Delonghi Magnifica S cappuccino automata kávéfőző tejtartállyal
- Telefon felvásárlás!! Honor 200 Lite, Honor 200, Honor 200 Pro, Honor 200 Smart
- GYÖNYÖRŰ iPhone 12 mini 256GB Red -1 ÉV GARANCIA -Kártyafüggetlen, MS3627
- 129 - Lenovo Legion Pro 7 (16ARX8H) - AMD Ryzen 9 7945HX, RTX 4080 (ELKELT)
- GYÖNYÖRŰ iPhone 12 64GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3858
- HIBÁTLAN iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4151, 100% Akksi
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



