Ostatnio otwarte pliki

0

Witam. Jak zrobic, zeby po odpaleniu programu wyswietlic 5 ostatnio otwartych plikow? W jaki sposob przechowywac te nazwy? W czasie 1 odpalenia otwieram 1 plik, dzialam na nim i program konczy dzialanie, a przy kolejnych uruchomieniach chce zeby nazwa tego pliku byla zapamietana. Nie mam pojecia jak to zrobic.

0

Zapisuj sobie nazwy plików, na których działasz w jakimś odrębnym pliku i tylko odczytuj z niego tą listę przy uruchomieniu.


Opolski Portal Programistyczny
http://programowanie.opole.pl

0

Z tym, że wtedy z pliku mam wczytać 5 ostatnich linijek, tak?

0

Tak jak napisał protechnologia.pl. Zrób oddzielny plik i zapisuj w nim nazwy (ścieżki) plików. Aby rozwiązać problem niekończących się plików, po prostu jak masz już 5 ścieżek w pliku, usuwaj pierwszą linijkę (najstarszą), a dopisuj na końcu najnowszy plik. Czyli, że jak chcesz zdobyć ostatnio otwarty to wczytujesz póki sie plik nie skończy np. do stringa. Ten string (ostatni), który pobierzesz przed końcem będzie ostatnim otwartym plikiem. Taki jest mój pomysł.

0

Witam

Można też wczytywanie ostatnich plików zorganizować na zasadzie stosu :

Wówczas nie trzeba będzie niczego usuwać ze zestawu nazw plików w pliku pomocniczym.
Jak by to mogło działać : Przed zapisem nowej nazwy plików wczytywana jest cała zawartość
dotychczasowej postaci pliku pomocniczego. Następnie plik pomocniczy jest otwierany do zapisu i wpierw zapisywana jest ( jako string ) nazwa nowego pliku, a następnie zapisywana
jest wczytana przed chwilą dotychczasowa zawartość tego pliku. W ten sposób zostałaby zrealizowana podstawowa zasada stosu : "ostatni zawsze na wierzchu".

                                                                   Pozdrawiam

                                                                       JK
0

Ja mam jedynie wyswietlac 5 ostatnio otwartych plikow w odpowiedniej kolejnosci.
W takim razie bede zapisywal do pliku pomocniczego nazwy ostatnio otwartych plikow, nastepnie zczytywal je i wrzucal do tablicy stringow o rozmiarze 5, gdzie ostatni element bedzie usuwany a pozostale 4 przesuwane w "prawo". Nowo otwarty plik bedzie wtedy w zapisywany tablicy przy indexie 0. Pozniej z tej tablicy bede zapisywal petla do pliku pomocniczego nazwy otwieranych plikow. Ma to sens?

0

Witam ponownie

Ma to jak najbardziej sens, ponieważ będzie to realizacja idei stosu :
"najmłodszy" plików będzie zarazem pierwszym w tablicy, tzn. jego
nazwa będzie umieszczona pod indeksem zerowym.

                                                           Podrawiam

                                                                JK
0

W takim razie dziękuję wszystkim za pomoc ;)

0

Jak to zaimplementujesz to już Twoja sprawa, ale std::deque się do tego nadaje trochę lepiej niż statyczna tablica. ;)

0

W tym programie nie mogę korzystać z vectorów itp.
Kolega z 2 podgrupy ma podobny program do mojego i głowny algorytm oparl na vectorach, po czym facet kazal mu napisac od nowa, bo tego uzyc nie mozna. Ma to byc program napisany glownie w oparciu o to, czego uczylismy sie w poprzednim semestrze, tzn tablice i listy.
Pozostaje mi w tym wypadku tablica.

0

Witam po raz kolejny

Plik z listą ( faktycznie - "stosem" ) otwieranych ostatnio kilku ( przykładowo : 5 ) plików
może zawsze towarzyszyć plikowi EXE z programem ; można to rozwiązać na kilka sposobów:

  1. Nazwa każdego z plików zapamiętanych w pliku pomocniczym - "stosie" jest zawsze
    nazwą "pełną", tj. zawiera ścieżkę dostępu do każdego z plików,

  2. Nazwa ścieżki dostępu do wszystkich plików zapamiętana jest w "specjalnym" ( tj. w jakiś
    szczególny sposób wyróżnionym, np. obecnością jakiegoś "znacznika" ) wierszu pliku
    pomocniczego z listą nazw otwieranych ostatnio plików. Ten ostatni wariant też dałoby się
    zrealizować na kilka sposobów.

                                                                 Pozdrawiam
    
                                                                     JK
    

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