Wie kombinieren Byte-Arrays für akzeptiert eine variable Anzahl von Argumenten (Variadic-Funktion) in c?Kombinieren Byte-Arrays für die Annahme einer variablen Anzahl von Argumenten
typedef struct {
unsigned char *data;
int length;
} bytes;
// Problem in here how to combine byte arrays
// for accepts a variable number of arguments
bytes bytesConcat(bytes fmt, ...) {
return b1 + b2 + ...b(n)
}
static unsigned char src1[] = { 1,2 };
static unsigned char src2[] = { 3,4 };
void main() {
bytes b1, b2;
b1.data = src1;
b1.length = sizeof(src1);
b2.data = src2;
b2.length = sizeof(src2);
// call byteConcat with passing two arguments
// result1 expected is 1,2,3,4
bytes result1 = bytesConcat(b1, b2);
}
Dank im Voraus
Was haben Sie versucht? – 2501
Es gibt viel mehr als nur die variable Anzahl von Argumenten; Ich denke, dass das Hauptproblem, über das Sie nachdenken müssen, das Speichermanagement ist. Der Umgang mit verschiedenen Argumenten ist der einfache Teil: Schauen Sie sich auch [diese Frage] an (http://stackoverflow.com/questions/205529/passing-variable-number-of-arguments-around). – Cyb3rFly3r
Wie bekomme ich die Argumentliste von fmt in bytesConcat-Funktion? – ant