Sortowanie pliku tekstowego

0

Witam,
muszę napisać program (w C) sortujący plik tekstowy, niestety dopiero zaczynam swoją przygodę z programowaniem i kompletnie nie wiem jak się za to zabrać. Mógłby ktoś podpowiedzieć w jaki sposób to zrobić? Byłbym bardzo wdzięczny.

Przykładowa zawartość pliku:

ALA MA KOTA, A KOT MA ALĘ
I ŻYĆ BEZ SIEBIE NIE MOGĄ WCALE,
CIĄGLE FIGLUJĄ, BEZ PRZERWY PSOCĄ
I WCZESNYM RANKIEM I PÓŹNĄ NOCĄ.
SKARŻĄ SIĘ WSZYSCY ALI SĄSIEDZI:
JAKBY HURAGAN TEN DOM NAWIEDZIŁ!
PRZESTAŃ JUŻ ALU FIGLOWAĆ Z KOTEM,
ŻEBY BYŁ SPOKÓJ W DOMU Z POWROTEM!

Po posortowaniu ten sam plik ma wyglądać:

ALA MA KOTA, A KOT MA ALĘ
CIĄGLE FIGLUJĄ, BEZ PRZERWY PSOCĄ
I WCZESNYM RANKIEM I PÓŹNĄ NOCĄ.
I ŻYĆ BEZ SIEBIE NIE MOGĄ WCALE, 
JAKBY HURAGAN TEN DOM NAWIEDZIŁ!
PRZESTAŃ JUŻ ALU FIGLOWAĆ Z KOTEM,
SKARŻĄ SIĘ WSZYSCY ALI SĄSIEDZI:
ŻEBY BYŁ SPOKÓJ W DOMU Z POWROTEM!.
1

Bez locale (znaków spoza ASCII, np. Ż) sprawa jest prosta: qsort i strcmp dla tablicy linii/wskaźników na linie. Z locale musisz jeszcze wziąć pod uwagę utf-8, lub inny użyty standard kodowania.

2

na początku dodaj setlocale(LC_COLLATE, "pl_PL.utf-8");
do porównania napisów użyj strcoll (zamiast strcmp).
do posortowania qsort.
strdup do robienia kopi napisu w tablicy.
i fgets by wczytać całą linię.

1 użytkowników online, w tym zalogowanych: 0, gości: 1