Új hozzászólás Aktív témák
-
EQMontoya
veterán
Ez ebben a formában így nem fog menni.
A scanf ignorálja a sor eleji whitespace-eket, így a \n-t is.
Ha kizárólag stringet szeretnél olvasni, akkor használj fgets-t.És a megoldás:
Csinálsz egy ÚJ buffert. (char tömb)
Beleolvasol fgets-el.
Megnézed az új buffert. Ha csak egy "\n" van benne, akkor nem adott meg semmit a user, nem használod a stringet. Ha van benne bármi más, akkor meg használod. (okosan: strlen)Same rules apply!
-
EQMontoya
veterán
Ott végeztem én is.
Buffer == egy karakter tömb, semmi extra.
Tehát az egyikbe olvasol, a másikat használod. Ha nem olvastál be semmi értelmeset, akkor nem csinálsz semmit, ha beolvastál valami értelmeset, akkor a beolvasós tömb tartalmát átmásolod a másikba (strcpy).Same rules apply!
-
dabadab
titán
"Adott egy stringet módosító függvény, elég egyszerű:"
...és hibás Az "old = new" rész egyáltalá nem azt csinálja, amit te szeretnél, azok csak a stringedit két lokális változóját módosítják, nem a paraméternek megadottakat.
Ezenkívül az elég rossz gyakorlat, hogy hagysz nem feltűnően érvénytelen pointerek, márpedig amikor lefut ez a függvény, utána nem fogod tudni azt, hogy a new az érvényes-e, ezért ilyen esetekben nagyon praktikus lenullázni (plusz ez segít abban, hogy gyorsabban kibukjon az, ha ezután valahol mégis használni akarnád, annak ellenére, hogy érvénytelen).
Ja, és én a magam részéről a "new" használtatát kerülném még C kódban is.
DRM is theft
Ú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!
- Robot fűnyírók
- Autós topik
- Apple Watch Sport - ez is csak egy okosóra
- Motorola Edge 40 neo - színre és formára
- Vezetékes FEJhallgatók
- Android alkalmazások - szoftver kibeszélő topik
- LEGO klub
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- gban: Ingyen kellene, de tegnapra
- Macska topik
- További aktív témák...
- AKCIÓ Új Dobozos Macbook Pro dokkoló új ára 70.000 forint
- ThinkPad Hybrid USB -C USB -A Dock 40AF Új ára 80.000 Forint Ingyen szállítás
- Xiaomi Redmi Note 9s 128/6 GB 34.9E !!!
- Új Hp Pavilion 15-eh Fémházas Szuper Laptop 15,6" -30% AMD Ryzen 7 5700U 8Mag 16/1TB FHD MATT
- ATI RADEON RX 480 -8 gb DDR5 256 bit videokártya