fgets из проблем с stdin [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...*/
Если я хочу, например, указать адрес и номер телефона и попросить указать каждую строку (так что адрес в значительной степени идентичен указанному выше, за исключением замены имени на адрес), я обнаружил, что ввод пропускается. Я имею в виду, что у меня нет шансов ввести это. Выходные данные на самом деле Введите имя: Введите адрес: (и вот где он запрашивает у меня ввод)