- Vivo X200 Pro - a kétszázát!
- Motorola Edge 30 Neo - wake up, Jr...
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy Fit 3 - keveset, de jól
- Huawei Mate X6 - keleti oldal, nyugati oldal
- Samsung Galaxy A56 - megbízható középszerűség
- Milyen okostelefont vegyek?
- Kicsomagolták a Vivo X Fold 5-öt (videó és fotók)
- Szerkesztett és makrofotók mobillal
- iPhone topik
Új hozzászólás Aktív témák
-
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
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Genshin Impact (PC, PS4, Android, iOS)
- Vivo X200 Pro - a kétszázát!
- Anglia - élmények, tapasztalatok
- IGP nélküli processzorokkal készül az Intel és az AMD
- Kecskemét és környéke adok-veszek-beszélgetek
- Házimozi belépő szinten
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Külső 3,5'' mobil rack-ek topikja
- Motorola Edge 30 Neo - wake up, Jr...
- BestBuy topik
- További aktív témák...
- REFURBISHED és ÚJ - HP USB-C Dock G5 docking station (5TW10AA) - 3x4K felbontás, 120Hz képfrissítés
- LG 48C3 - 48" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen6 CPU
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RX 9070 16GB GAMER PC termékbeszámítással
- Asus Rog Strix G16
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest