возник вопрос, как сохранить структуру в массив и распечатать ее в main()
.
Моя идея состоит в том, чтобы получить данные в формате .txt, а затем сохранить их в массиве структуры.Если я выведу его напрямую с помощью printf()
, он будет работать нормально.
Но если я захочу сохранить его в массиве struct и , распечатайте его at the
main () Я получаю значения корзины, ничего или только последняя прочитанная структура не будут сохранены во всех позициях массива.
Мой код выглядит так:
typedef struct CAR {
char* nickname;
char* model;
} CAR;
void getInputFromFile(struct CAR *arr) {
. . .
. . .
char *nickname = malloc(...);
char *model = malloc(...);
int i=0;
while(fscanf(file,"%s %s\n", model, nickname)==2){
printf("%s %s\n", model, nickname); // this works fine!!!
// Now when i try to save it in a struct it doesn't work
arr[i]->model = model;
arr[i]->nickname = nickname;
i++;
}
free(nickname);
free(model);
}
int main (){
struct CAR* arr[size];
getInput(arr);
// Now iterate over arr to look at values
for(i = 0; i < size; i++){
...
}
}
Формат ввода файла выглядит так:
nickname model\n
nickname model\n
...
СпасибоЗа всю вашу помощь заранее!