Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Dateigröße (einfach aber es klappt nicht)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
22.10.2003, 11:06 Uhr
the.messias



Achso! Danke für die Info. Ich hab jetzt noch eine andere Möglichkeit gefunden. Ich weiß aber nicht ob das sauber ist, auf jeden Fall funktioniert es.
falls es jmd. interessiert hier der Quellcode:

C++:
void open_dat(FILE *myDatei)
{

        if (myDatei == NULL)
        {
            PaMessage::Info("Fehler beim öffnen");
        }else
        {
            fseek( myDatei, 0L, SEEK_END );  //Dateizeiger ans Ende setzen

            size_t fileSize= ftell( myDatei );   //Dateizeiger abfragen

            fseek(myDatei, 0L, SEEK_SET);   //Datenzeiger wieder an den Anfang

         char* inhalt = (char *)malloc(fileSize);
        fread(inhalt, fileSize, 1, myDatei);

        fclose(myDatei);
//und der ganze Rest



mfG Marcel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
22.10.2003, 11:21 Uhr
virtual
Sexiest Bit alive
(Operator)


Geht nur, wenn Du die Datei binär öffnest.
Ausserdem fehlt 5 Stellen die Fehlerabfrage.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
22.10.2003, 12:38 Uhr
the.messias



kannst du mir mal bitte die Stellen markieren wo die Fehlerabfragen hin müssen?! Ich kanns mir bei fseek vorstellen, aber wo noch? und wie müssen da die bedingungen aussehen? Es gibt da ja 3 Rückgabewerte mit Fehlern. Muss ich die alle abfangen??
Und was ist der Unterschied zwischen Datei binär öffnen und anders? Also ich bekomme die Datei von einem riesigen Hauptprogramm und weiß nicht wie sie geöffnet wird.
Ist die Datei mit fopen... binär geöffnet???

Ach ja, danke für deine Geduld mit mir...ich bin echt nicht so eine Leuchte in Arbeit mit Dateien.

mfG Marcel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
22.10.2003, 12:49 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
the.messias postete
Achso! Danke für die Info. Ich hab jetzt noch eine andere Möglichkeit gefunden. Ich weiß aber nicht ob das sauber ist, auf jeden Fall funktioniert es.
falls es jmd. interessiert hier der Quellcode:

C++:
void open_dat(FILE *myDatei)
{

        if (myDatei == NULL)
        {
            PaMessage::Info("Fehler beim öffnen");
        }else
        {
            fseek( myDatei, 0L, SEEK_END ); // HIER

            size_t fileSize= ftell( myDatei );   // HIER
            fseek(myDatei, 0L, SEEK_SET);    // HIER
         char* inhalt = (char *)malloc(fileSize);  // HIER
        fread(inhalt, fileSize, 1, myDatei);  // HIER

        fclose(myDatei);
//und der ganze Rest



mfG Marcel


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
22.10.2003, 12:51 Uhr
virtual
Sexiest Bit alive
(Operator)


Wenn Du es nicht weißt, wie Die Datei geöffnet wurde (bei fopen müßte im Binärmode der zweite Parameter ein 'b' enthalten), dann geht der fseek Ansatz nicht.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
22.10.2003, 13:01 Uhr
the.messias




Wieso ist das so kompliziert. Warum geht es denn dann nicht mit fseek???
brauch ich da ne Abfrage ob binär oder nicht und mach dann 2 unterschiedliche Varianten??
Also bei binär deine Variante mit malloc und realloc
und bei nicht binär (wie heißt das dann?) meine mit fseek???

gruss Marcel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
22.10.2003, 13:08 Uhr
the.messias






Hat sich schon erledigt...ich hab befunden wo die Datei geöffnet wird. Und sie wird nicht binär geöffnet. Also brauch ich ja bei fseek nur noch die Fehler abfangen.
Na dann mal ein dickes Dankeschön an dich!

P.S. Wieso weißt du das bloß alles

gruß Marcel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
22.10.2003, 13:12 Uhr
virtual
Sexiest Bit alive
(Operator)


Hallo!?
Wenn sie nicht binär geöffnet wird, funktioniert der fseek Ansatz nicht!!!
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
22.10.2003, 13:38 Uhr
the.messias



oh nein...dann hab ich das wohl falsch verstanden. Hast du vielleicht einen Vorschlag wie sonst?!

greetz marcel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
22.10.2003, 14:47 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich bleibe bei post 009
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: