Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
Benmartin
#1105
üzenetére
Azért kötözködtem, mert tanuláshoz rossz példa.
2. Izé, kipróbáltad? Mert nem működik, mivel a feof csak azután lesz igaz, hogy túlmész a fájl végén. Tehát előfordulhat, hogy eggyel többször fut a ciklusod és az utolsó alkalommal ki tudja milyen adatra. Ehhez csak az kell, hogy az utolsó sor végén is legyen egy soremelés (márpedig ez normális dolog). Egyébként is pl. %d esetén vagy bonyolultabb formátumstringnél abból tudod, hogy sikerült-e beolvasni valamit. ellenkező esetben könnyen végtelen ciklus lehet (ugyanis olyankor a fscanf nem eszi meg a hibás adatot, de feof sem lesz)
3. sajnos de. sőt, még ékezeteket is. sokat szívok ezekkel én is a munkám során, főleg linux-windows közötti másolgatás nagy élmény (meg a kalapos vs. rendes ő/ű)
4. az azért van, hogy annyit kezel a programod, addig ok. de sehol nem biztosítod, hogy ne is legyen több. Az fscanf jelen formájában vidáman megesz többet is és szép buffer overflow lesz belőle. Ezt is jobb idejekorán megtanulni.
5. igen, és ez a rossz. már miért is ne lehetne egy 120GB-os fájlt feldolgozni csak azért mert nincs 120GB memóriám.
6-7. már hogyne kellene. Amelyik függvénynek nincs prototípusa, azt alapból int visszatérési értékkel feltételezi a fordító. Márpedig sem a malloc sem pedig az strcat nem int-tel tér vissza. És ha az int véletlen nem binárisan kompatibilis a void* illetve a char* típusokkal (pl 64 bites rendszer esetén) akkor az instant segfault.
10. szerintem nem fölösleges, jobb ha az újonc azt látja hogy a változókat a lehető legszűkebb körben deklaráljuk
11. azt te honnan tudod? És ha 5GB-os fájlra akarom futtatni? Vagy 128kB-osra 16 bites rendszeren?
12. ja és akkor nem kell. pl ha egy fájl (vagy sor) véletlen nincs 4 karakter akkor a program összeomlása az rendben van?
Ú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!
- MSI Pulse 15 B13VFK i7 / RTX 4060 140W / QHD 165Hz 16GB DDR5 1 TB SSD
- DELL OptiPlex 3050 SFF / i5-7500 - i7-7700 / NVME M.2 / DDR4 / DVD-RW / USB 3.1 / HDMI / több db
- Lenovo ThinkPad T14 Gen 2 Ryzen 7 / 32GB RAM / 512 SSD Garancia
- Apple iPhone SE 2022 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 256GB, Kártyafüggetlen, 1 Év Garanciával
- szinteÚJ Lenovo ThinkPad L14 Gen5 i7 155U 32GB 1TB FHD+
- Új Acer Nitro V15 FHD IPS 144Hz Ryzen7 7735HS 16GB DDR5 512GB SSD Nvidia RTX 4060 8GB Win11 Garancia
- Bomba ár! Lenovo ThinkPad T470s - i5-6GEN I 8GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3938
- MacBook Pro 14" M1 32GB RAM 1 TB 27%-os áfás számla (0449AB)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
