Hirdetés
- One mobilszolgáltatások
- Samsung Galaxy A57 - kecses test, lusta lélek
- Xiaomi 13 - felnőni nehéz
- Milyen okostelefont vegyek?
- Telekom mobilszolgáltatások
- Xiaomi 15T Pro - a téma nincs lezárva
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- A Redmi is hozott kompakt táblagépet
- Hivatalos a OnePlus Watch 4
- Samsung Galaxy S26 Ultra - fontossági sorrend
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
grabber
#1559
üzenetére
1. a main után hiányzik a zárójelpár
2. a FILE * brain után hiányzik egy pontosvessző
3. a pointerek csillagja ízlés szerint vagy a típushoz vagy a változóhoz írandó, középre semmiképp (mert úgy aztán tényleg szorzásnak néz ki - de szintaktikailag helyes)
4. ha egyszer void a main akkor nem lehet benne return(1)
5. a return nem függvényhívás nem kell oda a zárójel (de ez is helyes szintaktikailag)
6. a Grabber:\ nem tudom micsoda de bízom benne, hogy a géped tudja
7. viszont érdemes lenne azért ellenőrizni a brain pointert is, hátha mégse
8. konstans szöveg kiírásához az (f)puts ajánlott, főleg, ha nem tudod mi a szöveg
9. hibajelzéseket tipikusan az stderr kimenetre küldjük
10. a while(feof(fp)) az esetek többségében hibás struktúra, helyette az adott beolvasó függvény visszatérési értékét kell vizsgálni
11. az fgetc meglepő módon int típust ad vissza, hogy tudja jelezni a fájl végét. Tehát a c változó típusa ez legyen
12. az fwrite hívást gyanítom a fórummotor tette tönkre, tessék szépen használni a Programkód gombot (egy őstagnak magyarázzam?
)
13. mindazonáltal ha fgetc van, akkor a kiíráshoz fputc ajánlott, mert az a párja
14. a kiírás sikerességét is jó ellenőrizni
15. a kimeneti fájlt nem annyira célszerű bezárni a ciklusban egyetlen karakter kiírása után
#include <stdio.h>
int main()
{
FILE* fp;
FILE* brain;
int c;
fp = fopen("C:\\Tanuljunk meg programozni.txt", "rt");
brain = fopen("Grabber:\\Head\\Brain.txt", "a+t");
if (fp == NULL || brain == NULL) {
fputs("Hiba a fajlok megnyitasakor\n", stderr);
return 1;
}
while((c = fgetc(fp)) != EOF) {
if (fputc(c, brain) == EOF) {
fputs("Hiba iras kozben!\n", stderr);
fclose(brain);
fclose(fp);
return 1;
}
}
fclose(brain);
fclose(fp);
return 0;
} -
Karma
félisten
válasz
grabber
#1451
üzenetére
Hát hasonlítsd össze a két kódot, elég jól látszik, a hibaüzenetek is beszédesek.
Pl.:
1) A File és a FILE két külön dolog (ez nem Pascal, a kis- és nagybetű számít!). Az utóbbi az érvényes, az előző meg a C számára ismeretlen fogalom, reklamál is miatta.
2) Ugyanebben a sorban kihagytál egy pontosvesszőt.
3) A legelső include-odat elírtad, "inlude" lett helyette, ez adja a többi hibaüzenet nagy részét.
4) A fájl elérési útvonalában nem jól írtad a \ jeleket. Mivel az escape karaktereket is az jelzi, a backslasheket kétszer kell beírni, mint a példádban.Azt hiszem ennyi az össz hiba.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Epson EB-FH06 projektor, CSAK 770 óra a lámpában! ÚJ ÁRA 250.000Ft-tól indul !
- WD Black SN850X 8TB M.2 NVME PCI-E 4.0 x4 - 1 év garancia - 7200-6600 MBs - Eladó!
- ASUS TUF F16 FX607 - 16"WUXGA 144Hz - Core 5 210H - 16GB - 512GB -Win11 - RTX 3050 - 1,5 év garancia
- 27% - NiPoGi MINI PC AMD Ryzen 5800U / 16GB DDR4 / 512GB NVMe
- Fehér Gamer Gép - GIGABYTE B860, Ultra 7 265KF, 16GB DDR4, RX 9060 XT 16GB, DDR5, 500GB SSD, 650W
- 0perces SAMSUNG DDR5 6400MHz vadiúj 2x16GB memória 1 év garancia (6400B)
- EREDETI NINTENDO Pokemon Go Plus autocatcher dobozban eladó
- BESZÁMÍTÁS! Apple Macbook Air 13 2020 M1 8GB RAM 256GB SSD notebook garanciával hibátlan működéssel
- GAMING PC! Ryzen 5700X / RTX 3070 / 32GB 3600MHz / SSD / 700w Gold!
- Lenovo ThinkPad P15 Gen 2 i7-11850H 32 GB RAM 1000GB SSD NVIDIA T1200 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
) ennyire vágja, akkor tőle kérdezd meg, és írd meg itt, miről is van szó konkrétan. 


)

