Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

__stdcall*

Treue Seele

  • »__stdcall*« ist der Autor dieses Themas

Beiträge: 101

Wohnort: Dauchingen

Beruf: Schüler

  • Private Nachricht senden

1

27.09.2005, 17:41

Größe einer Datei ermitteln

Hallo Leute,

ich will die größe einer Datei mittels C++ herausfinden.
Bietet die WindowsAPI / STL Funktionen dafür an ?

Ich hab kein Plan wie ich das anstellen soll.

Könnt ihr mir helfen ?

__stdcall*

Terriermon

Frischling

Beiträge: 52

Wohnort: Finnland :-)

  • Private Nachricht senden

2

27.09.2005, 18:11

Ich finde in der WinAPI gerade auch nichts, aber für die Dateigröße kann man sich ja leicht selber was schreiben...

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
unsigned long GetFileSize(FILE* pFile) // Gibt die Größe einer Datei (in Byte) zurück, die mit fopen geladen wurde

{
    unsigned long lFilePos = ftell(pFile); // Position des Lesezeigers speichern

    unsigned long lFileSize = 0;
    char sTemp; // Ein char ist genau 1 Byte groß

    rewind(pFile); // Setzt den Lesezeiger an den Anfang der Datei

    while(!feof(pFile))
    {
        fread(&sTemp, 1, 1, pFile);
        lFileSize++;
    }
    fseek(pFile, lFilePos, SEEK_SET); // Lesezeiger an die Originalposition zurücksetzen

    return lFileSize;
}

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

3

27.09.2005, 18:47

GetFileSize
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

__stdcall*

Treue Seele

  • »__stdcall*« ist der Autor dieses Themas

Beiträge: 101

Wohnort: Dauchingen

Beruf: Schüler

  • Private Nachricht senden

4

27.09.2005, 19:41

Danke euch allen :huhu:

klappt super!

Noch eins:

wie kann ich aus einer INI Datei daten einlesen ?

ich weiß nur das man dafür die Funktion GetProfileString(...) braucht
aber wie gehe ich damit um ?

__stdcall*

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

5

27.09.2005, 20:37

MSDN und Google sind tolle Erfindungen!, kannst auch in die Tribase schauen, da gibts das auch...., ich glaub sogar im Forum

Ich bin trotzdem mal so nett ;)

C-/C++-Quelltext

1
GetPrivateProfileString(pcSection, pcKey, "[NOT FOUND]", pcOut, iBuffSize, pcIniFile);


Datei:

Quellcode

1
2
[Sektion]
name="hallo"


pcSection= "Sektion"
pcKey = "name"
"[NOT FOUND]" = Standart Parameter, falls nix gefunden wurde
pcOut = Ein String (P) der den Inhalt beinhaltet
iBuffSize = die Größe des Strings
pcIniFile = der Name der Datei

Werbeanzeige