# FileSize bestimmen mit ifstream



## robeldiebone (26. August 2005)

Code:


```
ifstream infile;
infile.open(FileNameIn.c_str());
```

Ich benötige auch die Größe der Datei, das funktioniert so:


```
long FileSIze = filelength(HANDLE);
```

Wobei HANDLE ein int Wert ist, und ich in meiner Borland C++ 6 Hilfe nicht finde, wo ich diesen Handle herbekomme. Denn open() liefert void zurück.
Hat jemand davon Ahnung?


----------



## Sinac (26. August 2005)

Wenn du unter VLC / CLX Programmierst, warum nimmst du dann ifstream?
Borland bringt in seiner Umgebung eigene FSO Funktionen mit, damit ist das
öffnen, bearbeiten etc. wesentlich einfacher. Soweit ich weiß kannst du da mit einer Funktion aus Größe etc. bestimmen, bin aber nicht sicher...


----------



## robeldiebone (26. August 2005)

ich programmiere mit Borland, das Programm soll aber mit Standard C laufen, damit es in der Firma auch mal woander compilliert werden kann etc...
Deswegen ifstream


----------



## deepthroat (26. August 2005)

Hi.

Man kann natürlich auch ifstream nehmen (um z.B. relativ plattformunabhängig zu sein):
	
	
	



```
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
  ifstream in ("/var/log/up2date");

  if (in) {
    in.seekg (0, ios::end);
    int length = in.tellg ();

    cout << length << endl;
  } else {
    cerr << "File not found." << endl;
    return 1;
  }
}
```


----------



## robeldiebone (26. August 2005)

bei mir sagt er denn in dem Fall:

in.seekg (0, ios::end); <- es muss eine Speicheradresse übergeben werden. Und meine length hat denn denn garkeinen Wert.

Wieso ist das?


----------



## deepthroat (26. August 2005)

Eigentlich sollte das auch mit dem Borland C++ Builder 6 so funktionieren, aber unter Umständen muß man statt "ios::end" zu benutzen auf "ifstream::end" zurückgreifen (jedenfalls hat es das oben genannte Problem von robeldiebone gelöst): 
	
	
	



```
in.seekg (0, ifstream::end);
```


----------



## Tobias K. (26. August 2005)

moin


Alles schonmal gehabt... Suchfunktion!


mfg
umbrasaxum


----------

