[c++] Dateigröße in Byte?

alamos

Grünschnabel
Hallo,

ich habe da mal eine Frage und zwar brauche ich für ein Programm die Größe der Datei in Byte, genaugenommen die Größe des Inhalts in Byte.
Muß ich die Datei dazu jetzt öffnen und Byte (Char) für Byte einlesen und nen Counter mitlaufen lassen? Das kommt mir doch ein bischen umständlich vor und weil man ja nicht weiß wie groß so eine Datei ist kann man auch nicht sagen wie groß man den Counter machen soll.
Vielleicht gibts da eine einfach Möglichkeit.

Gruß,

Martin
 
Hi, machs mal so:

Code:
#include <iostream>
#include <fstream>
#include <stdlib.h>

using namespace std;

int main()
{
int len;
ifstream quelle;

quelle.open(datei,ios::binary);
if(quelle.good())
{
quelle.seekg(0L,ios::end);//Geht in der datei bis ans ende
len=quelle.tellg();//gibt dir die aktuelle position an
quelle.seekg(0L,ios::beg);//geht in der Datei wieder bis zum anfang
 
cout<<"Groesse in bytes: "<<len<<endl;
//...
}
else
{
cout<<"Fehler"<<endl;
quelle.close();
}

quelle.close();
system("PAUSE");
}

So müsste es funktionieren, hab den Code aber grad ausm Kopf aufgeschrieben, hoffe aber mal das keine Fehler drin sind :)

Gruß
cesupa
 
Zurück