Я хочу сделать программу, которая читает строку с информацией о партии, разделяет информацию между "/" и затем создает объект с информацией.
Я сделал цикл, как показано в Интернете. Если я просто хочу напечатать его, он работает нормально, но когда я пытаюсь присвоить его переменным, происходит ошибка - Ошибка сегментации
Моя структура выглядит следующим образом:
typedef struct {
char description[40];
int date;
int time;
int duration;
int room;
char parent[40];
char kids[3][40]
} Party;
И функция, которая читает строку:
void createParty():
Party p;
char s[LIMIT] = "John's Birthday/25032019/2230/10/1/Thomas/Anna/Jack/Sarah";
char c[2] = "c";
char *token;
int i=0;
token = strtok(str, s);
while( token != NULL ) {
printf( " %s\n", token );
token = strtok(NULL, s);
if (i==0)
strcpy(p.description,token);
else if (i==1)
p.date=atoi(token);
else if (i==2)
p.time=atoi(token);
else if (i==3)
p.duration=atoi(token):
else if (i==4)
p.room=atoi(token);
else if (i==5)
strcpy(p.parent,token);
else
strcpy(p.kids[j-6],token);
i++
}
Я ожидал, что все значения будут назначены без проблем, но когда я пытаюсь назначить последнего ребенка, это дает мне Ошибка сегментации . Если я не попытаюсь присвоить фамилию, ошибок не будет.
Спасибо!