Új hozzászólás Aktív témák
-
Cucuska2
addikt
válasz
lotuska
#5061
üzenetére
Én egy állapotgépet csinálnék, a következő állapotokkal:
t, te, m, mi, miz, mizu, és "üres". Ha t-t kap, akkor elkezd figyelni, hogy e jön-e, ha nem, printf("t");, és ha pedig kap egy t-t, utána pedig e-t, akkor azokat nem írja ki, hanem csak simán kiküldi azt, amit akarsz helyette.
Ezt bedobod egy while((c = getchar) != EOF) ciklusba, meg csinálsz az állapotgépnek egy switch-case szerkezetet, osz' kalap-kabát. -
sssirius
tag
válasz
lotuska
#5061
üzenetére
Szia!
Én a helyedben a quicksearch algoritmust használnám: link
Ha megtalálod a kihelyettesítendő szöveget, jelenleg "én" és "mizu", akkor strcpy() függvénnyel összemásolod egy újabb char*-ba a szöveg előtti részt + helyettesítést + szöveg utáni részt.
De ha úgy jobban tetszik, akkor memset-el helyben cserélheted.Szerk.: Ha nem akarsz semmi extrát implementálni, akkor van valamelyik header-ben strstr() függvény, ami segíthet.
-
bucsupeti
senior tag
válasz
lotuska
#4978
üzenetére
A billentyűzet pufferbe bennmarad egy enter és azt olvassa ki a scanf a %c-re
Ezt úgy lehet kezelni, hogy a scanf-nek megadod az elválasztó karakter, amit a beolvasáskor elnyel.
Az elválasztó karakter ez esetben a \r.Érdemes kiíratni hoyg mit is olvasott be, így hamar kiderülnek a hasonló hibák.
Javítsd ki így a scanf-es sort:
scanf("%d\r%d\r%c",&a,&b,&c);
így nekem működött linux alatt. a scanf_s nem ansi C szabvány, hanem a microsoftnak a találmánya, azzal nem tudom kipróbálni.
-
alapz@j
tag
válasz
lotuska
#4973
üzenetére
Már megbocsáss, de te nem a problémát oldottad meg, hanem a compilert sikerült rávenned arra, hogy szemet hunyjon a hibád felett. Mi akadálya volt annak, hogy a szájbarágós magyarázatnak megfelelően a scanf_s függvényt használd a scanf helyett? És akkor egy csapásra egy buffer overflow lehetőséget is kiküszöböltél volna...
char c;
scanf_s("%c", &c, 1);
Ú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!
- Fejhallgatós találkozó
- Samsung kuponkunyeráló
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Azonnali alaplapos kérdések órája
- Háremet tartana az adattárolókból a Chieftec letisztult dizájnú háza
- E-book olvasók
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- 3D nyomtatás
- BestBuy topik
- MÁV topic
- További aktív témák...
- ELADÓ Huawei MateBook D14 (Magyar billentyűzettel)
- PNY RTX 5080 16GB GDDR7 Triple Fan OC - Garis 2028.10.01. -ig - Eladó!
- appletv 4k , 32gb , hibatlan, dobozaban, csak március 14ig!!
- MSI GTX 1660 SUPER 6GB GDDR6 VENTUS XS OC Eladó!
- MacSzerez.com - iPhone 15 Pro / 128GB / Fehér Titán / Kártyafüggetlen / Garancia!
- Logitech Mx mechanical master series magyar keyboardlabor gmail.com
- Apple iPhone 15 128 GB Pink 1 év Garancia Beszámítás Házhozszállítás
- GYÖNYÖRŰ iPhone XR 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3995, 100% Akksi
- Samsung Galaxy A16 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Új MSI 15 Cyborg FHD IPS 144Hz i7-13620H 10mag 16GB 512GB SSD Nvidia RTX 4060 8GB Win11 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

