Hirdetés
- MIUI / HyperOS topik
- Okosóra és okoskiegészítő topik
- Kicsinálja az S26 Ultra a fóliagyártókat
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Nagyot léphet előre az Oppo Find X10 kameraképességek tekintetében
- iPhone topik
- Bemutatkozott a Poco X7 és X7 Pro
- Honor Magic6 Pro - kör közepén számok
- OnePlus 15 - van plusz energia
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
Ú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!
- AOC CU34G2XP/BK 34" 10 bites 3440 x 1440 180Hz 430 cd/m 1,5 év gari
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 11 . 64Gb 77% akksival . A1 függő (Osztrák)
- Lenovo Legion Slim 5 - 16" WQXGA 165Hz - Ryzen 7 7435HS - 16GB - 1TB - RTX 4060 - Win11 -2 év gari
- Eladó Konfig I5 8500 16GB DDR4 120GB SSD 500GB HDD GTX1660 Super 6GB!
- iPhone 13 Pro 128GB 100% (1év Garancia)
- Gamer egerek és billentyűzetek kitűnő árakon!
- Samsung Galaxy A55 5G / 8/256GB / Kártyafüggetlen / 12Hó garancia
- BESZÁMÍTÁS! GIGABYTE B760M i7 12700 32GB DDR4 1TB SSD RX 7800 XT 16GB ASUS A31 PLUS ARGB 750W
- BESZÁMÍTÁS! Lenovo Thinkpad L14 Gen 1 notebook - i5 10210U 16GB DDR4 512GB SSD Intel UHD GraphicsW11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
)

