У меня, похоже, проблема с копированием массива char из структуры в другой массив символов в другой структуре. Я получаю ошибку сегментации, и я думаю, что она имеет какое-то отношение к распределению памяти для моего массива char в структуре. Но может кто-нибудь, пожалуйста, указать точную точку, вызывающую сброс ядра.strcpy из struct char * в другой struct char * - Ошибка сегментации
struct match
{
char *day;
char *date;
char *hour;
char *home_side;
char *visitors;
int home_result;
int visit_result;
int spectators;
int rounds;
int result;
};
struct team
{
char *name;
int victory_visit;
int victory_home;
int home_visitors;
};
typedef struct match match;
typedef struct team team;
Тогда у меня есть функция, которая заполняет-структуру под названием матч
void scan_matches(match *all_matches)
{
int i = 0, counter = 1, round_number = 1;;
FILE *ifp = fopen("kampe.txt","r");
char line[LINE_MAX];
while(fscanf(ifp," %[^\n]", line) == 1)
{
int thousand, hundreds;
sscanf(line,"%s %s %s %s - %s %d - %d %d.%d", &all_matches[i].day, &all_matches[i].date, &all_matches[i].hour, &all_matches[i].home_side, &all_matches[i].visitors,
&all_matches[i].home_result, &all_matches[i].visit_result, &thousand, &hundreds);
all_matches[i].spectators = ((thousand * 1000) + hundreds);
round_number = create_rounds(all_matches, counter, i, round_number);
counter++;
i++;
}
fclose(ifp);
}
после того, как это функция, которая вызывает у меня неприятности. Функция, в которой я хочу скопировать char * homeside из структуры соответствия, в имя char * в структуре группы.
void load_teams(match *all_matches, team *all_teams)
{
int i, j = 0;
for(i = 0; i < 6; i++)
{
strcpy(all_teams[j],all_matches[i].home_side);
j++;
strcpy(all_teams[j],all_matches[i].home_side);
j++;
}
for(i = 0; i < 12; i++)
{
printf("%s\n",all_teams[j].name);
}
}
Не пропустите 'all_teams [J]', который имеет тип 'team' к первому аргумент 'strcpy()', который ожидает 'char *'. Это должно быть 'all_teams [j] .name'? – MikeCAT
Вы вообще их выделяете? –
Вы уверены, что выделили достаточное количество памяти для каждого параметра? Проводка [MCVE] (http://stackoverflow.com/help/mcve) полезна. – MikeCAT