Я пытаюсь скопировать из одной структуры, которая содержит 3 переменные, в другую структуру, чтобы содержать информацию в одном массиве символов, используя memcpy.
Ранее я столкнулся с ошибкой невозможностиобрабатывать данные, которые я ввожу.Поэтому я пытаюсь записать данные, находящиеся в templist, в shoppinglist.MyList [1]
typedef struct matvara {
char food[25];
float ammount;
char unit[10];
}matvara;
typedef struct shoplist {
char grocery_list[9001];
int length; //Currently not used
}shoplist;
void add_food(matvara *typ, shoplist *MyList);
int main(void)
{
struct shoplist MyList = { 0 };
struct matvara typ = { 0 };
add_food(&typ, &MyList, &counter);
}
void add_food(matvara *typ, shoplist *MyList)
{
char templist[50]
//....Filling struct with data and tranfer it to templist[50]
//Works til I try to perform the memcpy.
memcpy(MyList->grocery_list[1], templist, strlen(templist)); //This is where the error occurs.
}
Ожидаемый результат заключается в успешном завершении работы memcpy, чтобы впоследствии я мог получить к нему доступ в grocery_list [1].
Я получаю сообщение об ошибке:
Exception thrown at 0x0FC631BF (vcruntime140d.dll) in Project6.exe: 0xC0000005: Access violation writing location 0x00000000.