003
29.02.2008, 14:32 Uhr
Kest
saint
|
Hi!
Wenn C++, dann könnstete so was in die Richtung machen:
C++: |
#include <iostream> #include <fstream> #include <string> #include <map>
typedef std::map<unsigned,std::ifstream::pos_type> MT;
void Lines(std::ifstream& file, MT& mp){ if(file.is_open()){ mp[1] = file.tellg(); std::string s; for(unsigned i=2; std::getline(file, s); i++) mp[i] = file.tellg(); file.clear(); mp.erase(mp.size()); } }
int main() { std::ifstream file("/*Dateiname*/", std::ios_base::binary); MT zeile; Lines(file, zeile);
std::cout << "insgesamt Zeilen: " << zeile.size() << std::endl; //letzte Zeile file.seekg(zeile[zeile.size()]); std::string s; std::getline(file, s); file.clear(); std::cout << "letzte Zeile: " << s << std::endl;
//vorletzte Zeile file.seekg(zeile[zeile.size()-1]); std::getline(file, s); std::cout << "vorletzte Zeile: " << s; //erste Zeile file.seekg(zeile[1]); std::getline(file, s); std::cout << "erste Zeile: " << s << std::endl; }
|
-- Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<. Dieser Post wurde am 29.02.2008 um 14:33 Uhr von Kest editiert. |