Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » File im Buffer (while bricht bei ersten 0x20 (NUL) ab)

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 <
000
18.05.2007, 13:36 Uhr
~me1234
Gast


Hallo,

ich habe eine Bilddatei und lese sie ein sie hat run 122000 bytes


C++:
    fseek(inFile, 0, SEEK_END);
    fileSize = ftell(inFile);
    fseek(inFile, 0, SEEK_SET);

    buffer = (char*)malloc(fileSize + 1);
    memset(buffer, 0, fileSize);


    if (fileSize != fread(buffer, sizeof(char), fileSize, inFile))
    {
        free(buffer);
        return -2;
    }

    iPos = 0;
    while(*buffer)
    {

        char tmp = *buffer;

        printf("%c\n", tmp);

        buffer++;
        iPos++;
    }

    printf("iPos: %i", iPos);


Das tut auch alles bis auf das in der while Schleife nur 3 chars ausgegeben werden iPos ist am Ende auch nur 3.

Das 4. Byte ist 0x20 (NUL)


Ich würde in der while Schleife gerne das ganze File durchgehen und nicht nur bis zum ersten (0x20).

Hab ich da einen komplett falschen Ansatz oder gibts einen Trick? Eventuell ist es eh anderst zu lösen darum schildere ich was ich will, möchte da Bereiche herausholen z.B an Stelle 50 steht in Dezimal 155, nun muss ich ab byte 155, 12 bytes in einen Buffer schreiben (ein IFD eines Tiff File ist 12 byte lang, es geht hier um Tiff Files).
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.05.2007, 16:17 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi,
statt


C++:
while(*buffer)




einfach


C++:
while(iPos < fileSize)



sonst bricht er natürlich am erst besten '\0' ab.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: