Хм. Я думал что Вы все элементы из файла считываете, скажем, в массив. Тогда можно было бы применить qsort().
Если считывать по одному, то это усложнит сортировку.
Считывая данные из файла в массив, вы тем самым переносите их из внешней памяти в оперативную. Лучше этого не делать.