Pessoal me ajudem por favor nesse problema não consigo ler o arquivo. na função mostrarAgenda.
struct TpAgenda{ int CodSeq,destinatario; char IdenDono[20];};void Agenda(FILE *arq){ int pos,tamanho; TpAgenda reg; TpUsuario rog; char aux1[10]; int aux,op,i=0,y=0,p; system("cls"); system("color 90"); titulo(); gotoxy(1,7); reg.CodSeq=0; FILE *arq1; arq= fopen("agenda.dat","rb+"); arq1=fopen("dados.dat","rb"); if(arq==NULL) {//se o arq não existir arq=fopen("agenda.dat","wb+"); reg.CodSeq=0; } printf("\n[1]Adicionar Contato \n[2]Mostrar agenda"); printf("\nOpcao:"); scanf("%d",&op); switch(op) { case 1: printf("\nDigite o telefone do contato:"); scanf("%d",&aux); fread(®,sizeof(TpAgenda),1,arq); pos=BuscaContato(arq,aux); if(pos!=-1) { MessageBox(NULL, "Contato ja existe", "Contato", MB_OK + MB_ICONINFORMATION); getch(); } else { p=BuscaFone(arq1,aux); if(p!=-1) { if(aux!=user.tel) { printf("\nNome: "); fflush(stdin); gets(reg.IdenDono); reg.destinatario=aux; reg.CodSeq=1; MessageBox(NULL, "Cadastrado com sucesso", "Contato", MB_OK + MB_ICONINFORMATION); fseek(arq,0,1); fwrite(®,sizeof(TpAgenda),1,arq); } else { printf("\nSeu proprio numero"); getch(); } } else { printf("\nNao existe Usuario"); getch(); } } break; case 2:MostraAgenda(arq); break; } opcao(); fclose(arq1); fclose(arq);}void MostraAgenda(FILE *arq){ TpAgenda age; arq=fopen("agenda.dat","ab+"); clrscr(); fseek(arq,0,2); int tl=ftell(arq)/sizeof(TpAgenda); for(int i=0; i<tl; i++) { fseek(arq,i*sizeof(TpAgenda),0); fread(&age,sizeof(TpAgenda),1,arq); printf("Nome:%s \tTelefone:%d\n\n",age.IdenDono,age.destinatario); } fread(&age,sizeof(TpAgenda),1,arq); getch(); fclose(arq);}