Salvez a todos ^^ mi avrete addosso per un bel po dato che sto facendo 'sperimenti ^^

allora...io ho questa funzione

codice:
int compare(const void *pa, const void *pb, const void *config) {
        int size1, size2, i;
        size1 = sizeof((char *)pa);
        size2 = sizeof((char *)pb);

        printf("Sizes: [%s]%i - [%s]%i\n", (char *)pa, size1, (char *)pb, size2);

        if (size1>size2) return 1;
        if (size2>size1) return -1;

        for (i=0; i<size1;i++) {
            if ((char *)pa == 0) break;

            printf("Content[%i]: %c - %c\n", i, (char *)pa, (char *)pb);

            if ((char *)pa > (char *)pb) return 1;
            if ((char *)pb > (char *)pa) return -1;
            pa++;
            pb++;
        }

        return 0;
}
che deve confrontarmi due dati (lasciate perdere il terzo parametro)
i due dati in questione sono i puntatori a due stringhe

anche xche non capisco xche usando sizeof mi restituisca 4 (la dimensione di un INT) mentre usando printf mi stampi la stringa :\

infati size1 e size2 sono uguali

se le due stringhe sono di lunghezza uguale confronto carattere per carattere...e se ne trovo 1 + grande ritorno 1 o -1

se nn trovo nulla...mi ritorna zero

ora il problema è questo
1° mi serve leggere la lunghezza della stringa (how?)
2° mi serve confrontare carattere per carattere per vedere quallo + alto o + basso

il codice è "mezzo" funziante...

idee?