Hirdetés

Új hozzászólás Aktív témák

  • bdav

    őstag

    válasz pawee #2140 üzenetére

    ezzel a legnagyobb baj az h. karaktert akarsz stringgel hasonlítani. u.i. ha jól látom ahogy a motor legyakta az [ i ] -t akkor ez van:

    switch(str_in [i ])
    {
    ...
    case ''á''

    ...

    namost az str_in[ i] az 1 db char típusú lesz a ''á'' viszont char* ot eredményez. ''á'' helyett 'á' kellene.

    másik gáz az lesz hogy az str_outban mindig csak egy karakter kerül majd be. ráadásul ezt megcsinálod hogy str_out = ''á'' akkor az foglal szépen helyet egy egy karakter hosszú stringnek, lezárja \0-al aztán ha mögé akarsz írni akkor az hogy string_out[ 2] az nem túl szép és nem is fog működni (az 1 dolog hogy nem lefoglalt memóriaterületre írsz, de ugyis csak a \0-ig látja stringnek, ha meg azt írod felül akkor a memóriát kilistázza majd az első 0-ig :) )

    a helyedben én írnék egy eljárást ami két char* -ot vár paraméterül és a másodikat hozzáfűzi az elsőhöz (nemtom van e ilyen beépített függvény v. nincs). Vagy használj C++-t és String osztályt :)

    mégvalami: 2 C stringet nem tudsz ==-vel összehasonlítani, arra való az strcmp, pár hszel ezelőtt volt róla szó.

    [Szerkesztve]

Új hozzászólás Aktív témák