Итак, нам поставили задачу создать функцию directory** getdirectory(int n)который читает n строк, каждая строка содержит имя, возраст и рождение, которые должны быть сохранены в массиве переменных типа directory, и возвращает указатель на массив указателей каталогов (да, я знаю, что это сбивает с толку). Моя проблема, я считаю, заключается в strcat(arr_records[i]->name, a), который получает имя и сохраняет его в структурной переменной, потому что, если я не пытаюсь получить имя, мой код отлично отображает возраст и рождение. Так что вы, ребята, думаете, что мне следует делать?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct my_directory directory;
struct my_directory{
char name[100];
int age, birth;
};
directory **getdirectory(int);
void free_records(directory **, int);
int main(){
directory **record;
int n_records;
scanf("%dn", &n_records);
record = getdirectory(n_records);
for(int i=0; i<num_monarchs; i++){
printf("%s, born %d, %d years old.n", record[i]->name), record[i]->birth, record[i]->age);
}
free_records(record, n_records);
return 0;
}
directory **getdirectory(int n_records){
int b,c;
char a[100];
directory **arr_records;
arr_records = (directory*)malloc(n_records*sizeof(directory));
for(int i=0; i<n_records; i++){
printf("Enter Name, Birth, Age: ");
scanf("%s %d %d", &a, &b, &c);
strcat(arr_records[i]->name, a);
arr_records[i]->birth = birth;
arr_records[i]->age = number;
}
return arr_records;
}
void free_recordss(directory **record, int n_records){
for(int i=0; i<n_records; i++){
free(record[i]);
}
free(record);
}
![как сохранить строку в структурную переменную и распечатать ее на C? [closed] TheFAQ.ru](https://thefaq.ru/wp-content/uploads/2023/01/logo-250.png)