- Vivo X200 FE – fenséges méret
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Apple iPhone 17 - alap
- Samsung Galaxy S25 - végre van kicsi!
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy A56 - megbízható középszerűség
- iPhone topik
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Huawei P30 Pro - teletalálat
- Kijelző került a kamerasávra a Xiaomi 17 Pro és 17 Pro Max hátulján
Ú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!
- Vivo X200 FE – fenséges méret
- Milyen autót vegyek?
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Apple iPhone 17 - alap
- E-roller topik
- sziku69: Fűzzük össze a szavakat :)
- GeForce RTX 5060: Ezt kapjuk 150 ezerért
- Brogyi: CTEK akkumulátor töltő és másolatai
- iPhone-t használók OFF topikja
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Ryzen PC 9800X3D - RTX 5070 TI - B850 TUF - 32GB DDR5 - 1 TB M.2 SSD - 360 AIO/Garanciás-Beszámítás
- iPhone 16 PRO MAX 256GB 3 hónapos MEDIAMARKT számla! 2028 júniusig Apple garancia! Akku 100%!
- Dobozos , garanciális 27"-os Acer Nitro ívelt monitor leárazás
- Apple Macbook Air 13,6 M4 16GB/256GB - 7 Ciklus - 100% Akkumulátor - MAGYAR - Ezüst - 3 év garancia
- Apple iMac 19.2 i5-8500 Radeon Pro 560X 4GB 16GB 256GB SSD 21.5" 4K Retina
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- AKCIÓ! Dell Latitude 5550 notebook - Intel Ultra 7 165U 16GB DDR5 RAM 1TB SSD Intel Graphics WIN11
- GYÁRI TÖLTŐK DELL LENOVO HP FUJITSU TOSHIBA Macbook---------- Budapest,/MPL/Foxpost
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 256GB SSD I 12,5" HD I HDMI I CAM I W10 I Gari!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest