Ti crei un array di tanti puntatori a stringa quante sono le righe, ciascuno dei quali puntatori punta alla stringa contenente la riga corrispondente che avrai caricato in precedenza. Quindi passi a qsort l'array di puntatori dicendogli di usare come funzione di confronto una funzione che avrai definito in questo modo:
codice:
int cmplines(void *arg1, void *arg2)
{

    return strcmp(*(char **)arg1,*(char **)arg2);
}
.