Pessoal estou com um problema que não consigo resolver e queria uma ajuda, esse código que criei armazena nome e telefone em um arquivo, mais quando complilo e rodo o .exe ele apenas armazena o nome correto o numero de telefone não armazena corretamente:
#include <stdio.h>
#include <stdlib.h>
struct regis
{
char nome[20];
int telefone;
};
int main(int argc, char *argv[])
{
struct regis reg;
int sa=0,cond;
FILE *registro;
while(sa==0)
{
printf("digite 1 para cadastrar 2 para visualizar e 3 para sair:\n");
scanf("%d",&cond);
system("cls");
switch(cond)
{
case 1:
registro=fopen("registro.txt","w+b");
printf("entre com seu nome:\n");
scanf("%s",& reg.nome);
printf("entre com o numero de telefone: \n");
scanf("%d", & reg.telefone);
fseek(registro,1 * sizeof(reg.nome),SEEK_SET);
fwrite(& reg.nome,sizeof(reg.nome),1,registro);
fseek(registro,2,SEEK_CUR);
fwrite(& reg.telefone,sizeof(reg.telefone),1,registro);
fclose(registro);
printf("digite 3 para sair ou 0 para voltar ao menu: \n");
scanf("%d",&sa);
system("cls");
break;
case 2:
registro=fopen("registro.txt","rb");
fseek(registro,1 * sizeof(reg.nome),SEEK_SET);
fread(& reg.nome,sizeof(reg.nome),1,registro);
printf("%s\n",& reg.nome);
fseek(registro,1,SEEK_CUR);
fread(®.telefone,sizeof(reg.telefone),1,registro);
printf("%d\n",& reg.telefone);
printf("digite 3 para sair ou 0 para voltar ao menu: \n");
scanf("%d",&sa);
system("cls");
break;
}
}
return 0;
}
Pergunta
erickstryck
Pessoal estou com um problema que não consigo resolver e queria uma ajuda, esse código que criei armazena nome e telefone em um arquivo, mais quando complilo e rodo o .exe ele apenas armazena o nome correto o numero de telefone não armazena corretamente:
agradeço desde já a ajuda!
Editado por erickstryckLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.