Czytanie pliku liniami od konca

0

Witam,
czy istnieje możliwość wczytywania lini pliku od końca?
Jesli tak, to czy istnieje jakaś optymalna metoda zgodna z ANSI C?

Z góry dziękuje za odpowiedź,
Pozdrawiam,
Gawler

0

char c;
while((c=getchar())!='\n')
{
/* tu kolejny znak wiersza */
}

0

Nie do końca o to mi chodziło.

Załóżmy, że mamy plik o następującej treści:

Abc
Cde
Efg
Ghi
Ijk

W jaki sposób napisać program, który wczyta kolejno następujące linie:

ljk
Ghi
Efg
Cde
Abc

0

Wczytać kolejne elementy z pliku do tablicy, a następnie wypisać je pętlą od końca.

0

Być może i jest to jakiś sposób, ale zauważ, że sprawdza się tylko i wyłącznie dla niewielkich danych.
Operuję na plikach sięgających po kilkaset mb, więc zapisywanie czegoś takiego do tablicy nie jest dobrym rozwiązaniem.

0

Witam

"Przejechać się" ( po otwarciu pliku ) na sam koniec tego pliku ( np. ftell ).
Odczytywać od końca "znak po znaku", przesuwając się o 1 bajt do przodu
( fseek ). Z odczytanych znaków budować łańcuch "tymczasowy" dopóty,
dopóki nie natrafi się na znak nowego wiersza, tj. na bajt o wartości 10.
Po natrafieniu na znak nowego wiersza odwrócić łańcuch tymczasowy, tj.
pierwszy "char" wpisać jako ostatni, a ostatni 'char' jako pierwszy.
Wystawić odwrócony łańcuch na wyjście ( stdout ) lub wpisać go do tablicy.
Po minięciu znaku ( znaków ) nowego wiersza rozpocząć wszystko od nowa.

                                                               Pozdrawiam

                                                                       JK

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