[C++] fstream

0

Witam,

ucze sie dopiero operacji na plikach i chcialbym zrobic dla mojego prostego programu funkcje ktora odczyta ostatnie 30 linijek z pliku tekstowego i od razu wypisze je na ekran konsoli.

chce korzystac z <fstream> a nie z bilbiotek z zwyklego C.

otwieram plik przy pomocy kodu

		fstream file;
		string data;
		file.open ("test.txt", ios::in | ios::out | ios::app);

		if (file.is_open()){
			while (!file.eof()){
				getline (file,data);
				cout<<"data<<endl;
			}

			file.close();
                }
                else
                       cout<<"nie udalo sie otworzyc";

budowa pliku.txt wyglada w nastepujacy sposob (jest zawsze zachowana bez spacji itd)

99999
9999
1
0
222
444
99999999
444
1
00003

prosze o pomoc,
myslalem aby mozesz otwierac plik zliczac entery.. i nastepnie w jakims forze drukowac ostatenie 30 elementow, ale niestety nie potrafie tego zapsiac.

dziekuje z gory!

0

cout<<"data<<endl; <==> cout<<data<<endl;

maly blad;)

0

masz jeszcze jeden:

#include <queue>
using namespace std;


queue<string> myQueue;

while (getline (file,data)){
    myQueue.push(data);
    if (myQueue.size()>30) {
         myQueue.pop();
    }
}

while(!myQueue.empty()) {
     cout << myQueue.front() << endl;
      myQueue.pop()
}
0

swietne! dziekuje Ci serdecznie!

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