I have 2 questions.
I want to create an array of files in C. But I’m not sure whether I have to malloc the size before or not.Can I just use FILE** files as an array or do I have to malloc them before. And if I have to make space, do I need to reserve 4 bytes (x86)?
I have the variable “char extra[8] = { 0xAE00AF00B000B100 };” and I want to assign it to the end of another char array[24]. Is there a faster way of doing that without having to type in every value by hand or using a for loop.
char extra[8] = { 0xAE00AF00B000B100 };
// index is a random place in the string
name[index] = '\0';
i = 0;
if (index > 16) {
for (i = 24-index; i < 8; i++) {
index++;
name[index] = extra[i];
}
}
else {
name[17] = 0xAE;
name[18] = 0x00;
name[19] = 0xAF;
name[20] = 0x00;
name[21] = 0xB0;
name[22] = 0x00;
name[23] = 0xB1;
name[24] = 0x00;
}
I need to add those extra bytes btw.
If you need to have an array of files, it is possible to use an array of pointers as follow:
Or you can do it dynamically if
NB_FILESis only known at runtime.The standard C library provides the function
memcpy, which is a builtin on many compiler (so it will be faster than aforloop).