Kezdőoldal » Számítástechnika » Programozás » C-ben, hogy kell egy sztringbő...

C-ben, hogy kell egy sztringből kitörölni minden számot szóközt és írásjelet, tehát csak a betűk maradjanak?

Figyelt kérdés
2012. dec. 4. 13:00
 1/4 anonim ***** válasza:
100%
Én felvennék egy ugyanolyan hosszú segédváltozót, és oda átpakolnám a betűket. Karakterenként végigszaladsz az eredeti stringen, és ha betű, akkor átrakod a másikba egy mutató által megadott pozícióba, és növeled a mutatót. A végére ne felejts el null karaktert tenni. (Eleve hagyj helyet neki.)
2012. dec. 4. 13:09
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
100%
Én úgy csinálnám, hogy végigmennék a tömbön és a számomra releváns karaktereket (betűk) átmásolnám egy munka tömbbe. Amikor végeztem, akkor a munka tömbbel azt csinálok, amit akarok: visszamásolom az eredetibe, vagy az eredeti pointerét átirányítom a munka tömbre vagy csak visszaadom.
2012. dec. 4. 13:11
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Hú de rég írtam C kódot, remélem nem írok marhaságot. :D

Én valahogy így csinálnám, feltéve, hogy megadjuk az eredmény string pointerét is a függvénynek. (Tehát az eredmény a hívó oldalon van deklarálva. Egyébként vagy az eredetibe kellene visszapakolni az eredményt, vagy globális változót létrehozni, de akkor azt ki fogja eltűntetni, stb. Lokális változó pointerét meg ugye nem adjuk vissza, mert visszatéréskor az megszűnik. :))



void CsakBetuk(char *orig, char *result) {


char *pr, *po;

pr=result;

po=orig;

while (*pr)

{

if ((*pr>='a' && *pr<='z')||(*pr>='A' && *pr<='Z')) *(pr++) = *po;

++po;

}

*pr=0;


}

2012. dec. 4. 13:37
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

Na, tök összekevertem a változókat. :DD


...

while (*po)

{

if ((*po>='a' && *po<='z')||(*po>='A' && *po<='Z')) *(pr++) = *po;

++po;

}


*pr=0;

2012. dec. 4. 13:41
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!