Hirdetés

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

  • don_peter
    senior tag

    Az atoi semmiképp se jó választás, hiszen ha nem számjegy karakterrel találkozik, azt simán kihagyja. A "11A" stringedre ha jól saccolom, a visszatérési érték 11.

    Az elemenkénti végignézést javasolnám személy szerint, az nem túl költséges, és biztos jó eredményt ad. Mondjuk az a-zA-Z vizsgálat helyett sokkal egyszerűbb azt nézni, hogy az i-edik karakter >= '0' és <= '9' ;)

    Na meg nyilván ha == 0, akkor le kell állni a ciklussal.

    alapz@j: Ha a memset ezt az intrinsic megoldást használná, nem lenne az egész optimalizáció vs. biztonság mizéria :)

    Közben rájöttem :D
    Kicsit agyalnom kellett az eddig tanultakon bár annak nem örülök, hogy lépésenként kell végignézni a karaktereket ...

    unsigned int i=0;
    unsigned char teszt[4] = {'1','A','3','\0'};
    for(i=0; i<=sizeof(teszt)-1; i++){
    if ( (teszt[i] >= 'A' && teszt[i] <= 'Z') )
    printf("Ez egy betű!\n");
    else
    printf("Ez egy számjegy!\n");
    }

    Közben látom, hogy megelőztetek :D
    Köszi.. ;)

    Szerk:
    Értem akkor inkább a számokat vizsgáljam, mert az rövidebb ideig tart.
    Világos.. Mindig tanulok valami újat.
    Néztétek a videót amit linkeltem ezzel kapcsolatban?
    Kukk meg itt: [link]

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