unsigned char Array
-
Dann musst du wohl malloc verwenden. Die aktuelle Größe von a wirst du wohl irgendwo gespeichert haben.
-
Fehler: Konstanter Ausdruck erwartet
void test(unsigned char *a) { int len = 16 unsigned char b[malloc(len)]; memcpy(b, a, len) }
-
IHIEA schrieb:
Die Größe von a ändert sich abhängig von der eingelesenen Datein [...]
Und woher weißt du dann, wie groß a sein muss?
-
Die ist abhängig von der Dateigröße.
-
Wenn du aber doch bereits weißt, wie du dein a mit variabler Größe erzeugen kannst, wo genau liegt jetzt dann das Problem, dein b auch entsprechend groß zu erzeugen!?
-
Geschafft! Danke dot!
void test(unsigned char *a, size_t size_a) { unsigned char *b = NULL; b = (unsigned char *)malloc((off_t)(size_a)); memcpy(b, a, (off_t)size_a); }
-
Ähm, was soll copy?
Warum speicherst du das nicht direkt in b?
Und warum ist selbes global?
Ich hoffe, das hast du nicht wirklich so stehen.
-
Nein, der Fehler entstand nur durch die Übernahme in das Testprojekt.
Korrigiert.
-
Wieso arbeitest du da mit off_t und nicht mit size_t?
-
Entstand ebenfalls durch das Kopieren.