Fgets de problemas stdin [C]
Estou escrevendo um programa que funciona com arquivos. Eu preciso ser capaz de inserir dados como estruturas e, eventualmente, lê-los. O problema que tenho no momento é com este código:
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...*/
Se eu quiser, por exemplo, nome do endereço e número de telefone e pedir cada um em uma linha (para que o endereço seja praticamente idêntico ao anterior, exceto substituindo 'name' pelo endereço), acho que ignora a entrada. O que quero dizer é que não tenho chance de inseri-lo. A saída é realmente Digite o nome: Digite o endereço: (e aqui é onde ele me solicita entrada)