Abfrage von Hexzahlen



  • Hallo,

    ich möchte in meinem Programm eine Abfrage machen,
    die nur Hexzahlen erlaubt, also 0 bis 9, a-z und A-Z.
    In den char workbuffer[33] lese ich einen Barcode ein.
    haut da diese Abfrage hin:

    char workbuffer[33] = "";
    ...
    if(((workbuffer < 0x30) || (workbuffer > 0x39)) && ((workbuffer < 0x41) || (workbuffer > 0x5A)) && ((workbuffer < 0x61) || (workbuffer > 0x7A)))
    {
    ...Fehlerroutine
    }
    

    Gruß



  • workbuffer ist ein Array, da musst du schon jedes einzelne Element abfragen:

    if(workbuffer[n] ...)
    

    Außerdem brauchst du nicht umständlich mit den Hexzahlen rumwurschteln, sondern kannst direkt nach Zeichen abfragen:

    if(workbuffer[n] >= 'a' && workbuffer[n] <= 'f')
    

    ist true, wenn das n-te Zeichen in workbuffer ein Zeichen zwischen a und f ist.

    btw: Warum fragst du eigentlich, ob das so klappt? Hast du es denn nicht ausprobiert?



  • hab ich vergessen zu posten...
    der string ist 12 Zeichen lang!

    for(i = 0; i < 12;i++)
    {
        if(((workbuffer[i] < 0x30) || (workbuffer[i] > 0x39)) && ((workbuffer[i] < 0x41) || (workbuffer[i] > 0x5A)) && ((workbuffer[i] < 0x61) || (workbuffer[i] > 0x7A)))
        {
        ...Fehlerroutine                   
        }
    }
    


  • Siehe mein erster Post.


Anmelden zum Antworten