Ir para conteúdo
Fórum Script Brasil

DiôgoNM

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que DiôgoNM postou

  1. estou escrevendo dados em um arquivo binário. no entanto, preciso reeditar os parâmetros da struct "contato" no mesmo arquivo mediante valores de entrada digitados pelo usuário. consigo inserir e ler os arquivos normalmente por meio de outras funções. porém, o "fwrite" da função abaixo (utilizada para reedição) não grava no arquivo (tentei imprimir diretamente da struct depois pra vê se tava ok e realmente o valor foi impresso). obs.: o arquivo é aberto na função main com "rb+". preciso editar o arquivo na condição do "if(!strncmp(bus......." (que é quando é encontrado o parâmetro de busca do usuário no arquivo). void localiza_reg(){ int cont=1,parada=0; struct contato c; char busca[50],op; printf("Buscar por: "); gets(busca); printf("\n"); system("cls"); fseek(f,0,SEEK_SET); do{ fread(&c, sizeof(struct contato), 1, f); if (feof(f)) break; if(!strncmp(busca,c.id.nome,strlen(busca)) || !strncmp(busca,c.id.sobrenome,strlen(busca))){ parada++; } } while(!feof(f)); system("cls"); rewind(f); proximo: do{ fread(&c, sizeof(struct contato), 1, f); if (feof(f)) break; if(!strncmp(busca,c.id.nome,strlen(busca)) || !strncmp(busca,c.id.sobrenome,strlen(busca))){ printf("registro %d/%d \n\n",cont,parada); printf ("Nome: %s\n",c.id.nome); printf ("Sobrenome: %s\n",c.id.sobrenome); printf ("\n\n"); printf ("Nova busca\n"); printf ("Atualizar.\n\n"); printf ("Selecione sua opcao.\n"); op = toupper(getch()); system("cls"); cont++; switch(op){ case 'N': goto proximo; case 'A': if (feof(f)) { printf("Registro não existente!\n"); return; } //DÚVIDA???????? printf ("nome: %s\n",c.id.nome); printf ("sobre: %s\n",c.id.sobrenome);//tá realmente onde quero gravar getch(); printf("Entre com os dados\n"); printf("Novo nome:"); gets(c.id.nome); fwrite(&c, sizeof(struct contato), 1, f); //***estou com problemas aqui printf("%s",c.id.nome); //recebeu a entrada mas n salvou no arquivo mas é impresso normalmente getch(); system("cls"); goto proximo; } } } while(!feof(f)); rewind(f); }
×
×
  • Criar Novo...