Hirdetés
Új hozzászólás Aktív témák
-
Korcsii
őstag
válasz
Pcmagicnet
#2379
üzenetére
a \0 egy speciális karakter (NULL karakternek is hívják), szerepe, hogy jelezze a string végét (miért jó, azt csak akkor érted meg igazán, amikor nem engedik meg a string.h használatát
)szóval egy char tömbben (stringben) csak egyszer szerepelhet, bár tárolhatsz mögötte bármit, meg is jegyzi, de nem fogja kiírni, mert a kiírás is \0-ig történik...
strcat-tal lehet őket összefűzni, vagy ha egy mondatot akarsz egyben beleolvasni, akkor a szóközt is beleveszed, etc...
scanf("[^\n]",string);
pl én ezt szerettem anno, mindent beolvas addig, amíg sortörést nem talál... DE ez csak akkor alkalmazható, ha el is fér a string tömbben, azaz ha a feladat leírja, hogy márpedig csak ekkora meg ekkora lehet...a másik változatot:
int i = 0;
while((c = getchar()) != '\n') string[i++] = c;
string[i] = '\0';a probléma ugyanaz, ha nem fér el a megadott helyen (regényt adsz neki), akkor elszáll a program, de ha meg van adva a méret, használható...
ez utóbbiból azonban ki lehet indulni, ha dinamikusan akarjuk a memóriát lefoglalni: legjobb megoldás talán az, hogy foglalunk x méretűt, ha elérjük az x-et, foglalunk még egyszer akkorát, aztán a legvégén, amikor már az egész string megvan, megnézzük a méretét (vagy vesszük az i értékét), foglalunk egy akkorát, és belemásoljuk - így pont akkora helyet foglalunk neki, amekkora...
Ú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!
- Tápos kibeszélő offtopik
- Állandó tisztaság a be quiet! Dark Sweeper tápegységgel
- Milyen routert?
- Hivatalosan is elkezd védekezni az Intel csodafegyvere ellen az új Geekbench
- Robotporszívók
- Proxmox VE
- Huawei Watch Fit 3 - zöldalma
- Kerti grill és bográcsozó házilag (BBQ, tervek, ötletek, receptek)
- Heroes of Might & Magic: Olden Era
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- További aktív témák...
- HP 15,6"FullHD ,8.gen. Core i5(8X3,6Ghz)R5 2/4GB VGA,8-32GB DDR4 RAM,SSD+HDD?,jó akku,szép áll.
- Asus Phoenix NVIDIA GeForce RTX 3060 12 GB
- Thinkpad X13 Gen4 13.3" FHD+ IPS i7-1365U 16GB 512GB NVMe ujjlolv gar
- Thinkpad X13 Gen2i 13.3" FHD+ IPS i5-1145G7 16GB 256GB NVMe gar
- Akció!! iPhone 17 Pro max 1TB(!) ÚJ 3 év Apple jótállás Apple.hu vásárlás!
- Számlás!Windows 10 Pro 11 Pro,Windows 10 Home 11 Home, Office 2016,2019,2021 ,Vírusirtok,Mac
- BESZÁMÍTÁS! Gigabyte Z390 i7 9700KF 16GB DDR4 512GB SSD GTX 1070 Ti 8GB Cooler MasterCM 690 III 550W
- Dell Precision 5530 15,6" FHD, i7 8850H, 16GB RAM, Quadro 4GB VGA, 512GB SSD, jó akku, számla, gar
- LG UltraGear 32GS94UX-B OLED Monitor! 3840x2160 / 480Hz / 0.03ms / G-Sync / FreeSync! BeszámítOK
- SMAILIO HD 5" GPS autós navigáció
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
)
