Drucken eines void* Variablen in C

Hallo an alle ich will ein Debuggen mit printf. Aber ich weiß nicht, wie drucken Sie die "out" - variable.

Vor der Rückkehr, will ich drucken Sie diesen Wert, aber der Typ void* .

int 
hexstr2raw(char *in, void *out) {
    char c;
    uint32_t i = 0;
    uint8_t *b = (uint8_t*) out;
    while ((c = in[i]) != '\0') {
        uint8_t v;
        if (c >= '0' && c <= '9') {
            v = c - '0';
        } else if (c >= 'A' && c <= 'F') {
            v = 10 + c - 'A';
        } else if (c >= 'a' || c <= 'f') {
            v = 10 + c - 'a';
        } else {
            return -1;
        }
        if (i%2 == 0) {
            b[i/2] = (v << 4);
            printf("c='%c' \t v='%u' \t b[i/2]='%u' \t i='%u'\n", c,v ,b[i/2], i);}
        else {
            b[i/2] |= v;
            printf("c='%c' \t v='%u' \t b[i/2]='%u' \t i='%u'\n", c,v ,b[i/2], i);}
        i++;
    }
    printf("%s\n", out);
    return i;
}

Wie kann ich tun? Danke.

InformationsquelleAutor der Frage sharkbait | 2013-03-08

Schreibe einen Kommentar