Hola de nuevo.
Tengo esto:
struct salida{
long accesos;
char *nombre,*usuario,*grupo;
};
struct salida *a = malloc ( sizeof(struct salida) *128); //por ejemplo
y quisiera hacer una ordenación por nombre desc y otra por accesos del array. Pero no los hacen:
int comparar_acceso(const void *a, const void *b)
{
struct salida *ia = (struct salida *)a;
struct salida *ib = (struct salida *)b;
return (int)(ia->acceso - ib->acceso);
}
int comparar_nombre(const void *a, const void *b)
{
struct salida *ia = (struct salida *)a;
struct salida *ib = (struct salida *)b;
return strcmp(ia->nombre, ib->nombre);
}
size_t structs_len = sizeof(a) / sizeof(struct salida);
qsort(a, structs_len, sizeof(struct salida), comparar_nombre);
Gracias