Ich möchte aus wenigen Teilen einer Datei lesen und dann als ein unsigned char ausgeben. Dies ist eine vereinfachte Version davon:Lesen von Teilen einer Datei und Schreiben in single unsigned char
void loadPartsOfFile (const char *filename, unsigned char **output)
{
*output = malloc(333);
FILE *file = fopen(filename, "rb");
fseek(file, 0, SEEK_SET);
fread(*output, 1, 111, file);
fseek(file, 10254, SEEK_SET);
fread(*output, 1, 222, file);
fclose(file);
}
Zweite fread nur überschreibt, was er zuerst Ausgabe hinzugefügt. Gibt es eine Möglichkeit, den zweiten Datenstrom an die Ausgabe anzuhängen?
Vielen Dank! Übrigens gibt es eine Möglichkeit, einige Daten wie: char Daten [2] = {0xD5,0x48}; – Martin
Ja, natürlich. Erhöhen Sie einfach die Größe für realloc um 2, und machen Sie einen 'memcpy (* output + some_offset, data, 2);' irgendwo. Wenn die Daten vor den anderen zwei Mitgliedern eingefügt werden, müssen diese ebenfalls nach oben verschoben werden. – wildplasser
Nochmals vielen Dank. Es funktioniert perfekt. – Martin