Я пишу программу, которая работает с файлами. Мне нужно иметь возможность вводить данные в виде структур и, в конечном счете, читать их. Проблема у меня есть на данный момент с этим кодом:fgets from stdin problems [C]
typedef struct {
char* name;
.....
}employeeRecord;
employeeRecord record;
char name[50];
if(choice == 1)
{
/*Name*/
printf("\nEnter the name:");
fgets(name,50,stdin);
record.nameLength = strlen(name) -1;
record.name = malloc(sizeof(char)*record.nameLength);
strcpy(record.name,name);
/*Other data, similar format...*/
Если я хочу, например, имя адрес и номер телефона, и попросите каждого в строке (так адрес в значительной степени идентичны, за исключением того замены 'name' с адресом), я нахожу, что он пропускает ввод. Я имею в виду, что у меня нет возможности ввести его. Вывод на самом деле Введите имя: Введите адрес: (и вот где он мне подскажет)
Вы должны обновить вопрос с кодом, который на самом деле показывает проблема (кстати, это должно быть 'strlen (name) + 1', а не' - 1'). – caf
Я не вижу здесь никакого вопроса, каковы конкретные проблемы, которые у вас есть? – nos