У меня есть файл в известном формате, и я хочу преобразовать его в новый формат, например ::
struct foo {
char bar[256];
};
struct old_format {
char name[128];
struct foo data[16];
};
struct new_format {
int nr;
char name[128];
struct foo data[16];
};
static struct old_format old[10];
static struct new_format new[10];
Проблема: после заполнения «старых» данными я не знаю, как скопировать их содержимое в «новые». Если я сделаю
new[0].name = old[0].name;
new[0].data = old[0].data;
Я получаю ошибку компиляции о назначении char * для char [128] (struct foo * для struct foo [16] соответственно).
Я попробовал решение, которое нашел через Google для строковой части:
strcpy (new[0].name, old[0].name);
new[0].data = old[0].data;
но я понятия не имею, как обращаться со структурой. Кажется, мне не хватает базовых знаний о том, как обращаться с массивами, но я не хочу изучать C - мне просто нужно выполнить эту задачу.