У меня есть файл в известном формате, и я хочу, чтобы преобразовать его в новый формат, например .:C: копирование Struct/элементы массива
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];
Проблема: после заполнения «старой» с I данных не знаю, как скопировать его содержимое в «новое». Если я
new[0].name = old[0].name;
new[0].data = old[0].data;
Я получаю ошибку компиляции о назначении обугленного * на символ [128] (структура Foo * на структуру Foo [16], соответственно).
Я попробовал решение, которое я нашел с помощью Google для части строки:
strcpy (new[0].name, old[0].name);
new[0].data = old[0].data;
, но я понятия не имею, как обращаться с структурой. Кажется, мне не хватает базового понимания того, как обращаться с массивами, но я не хочу изучать C - мне просто нужно выполнить эту задачу.
домашнего задания любым? –
Почему я должен брать классы C, не желая учиться C? – 2009-10-03 10:46:07
'bar' и' name' не являются (обязательно) строками с нулевым завершением - они являются массивами символов фиксированной длины. Без дополнительной информации о том, что эти массивы действительно содержат, вы не должны использовать strcpy вообще. –