Jump to content


francisconeto15

Member Since 28/02/2012
Offline Last Active 12/03/2012, 17:35
-----

Posts I've Made

In Topic: Dúvida Em Alterar/Excluir Registro De Arquivo C

01/03/2012, 15:34

Enviei o Mp, manda pra mim por mp seu msn entao, pode ser?
Cara até agora não conseguir fazer a função alterar funcionar direito.=/

In Topic: Dúvida Em Alterar/Excluir Registro De Arquivo C

01/03/2012, 15:10

Estou usando o Code Blocks, mas essa parte de deletar, e ignorar arquivo ta me confundindo toda a cabeça.
Tem outra maneira de entrar em contato com voce amigo além do forum?

In Topic: Dúvida Em Alterar/Excluir Registro De Arquivo C

01/03/2012, 14:19

Você precisa ter em mente que quando um arquivo é aberto, ele tem um cursor, como esse que fica piscando enquanto a gente digita as coisas. O cursor aponta em que ponto o arquivo vai ser lido ou escrito. E toda vez que dados são lidos ou escritos esse cursor anda. Quando você vai fazer uma pesquisa, primeiro precisa mover o cursor pro começo do arquivo, pra conseguir ler todos os registros. Precisa também de uma variável pra saber se achou ou não o registro. Essa informação você só tem depois de percorrer o arquivo todo.

bool achou = false;
...
rewind(arquivo);
do
{
    fread(&Banda,sizeof(struct Registro_Banda),1,arquivo);
    if(strcmp(Nomepesquisa,Banda.nome_banda) == 0){
       printf("Nome: %s\n",Banda.nome_banda);
       printf("Data: %d\n",Banda.data);
       printf("Codigo: %d\n",Banda.cod);
       achou = true;
    }
}while(!feof(arquivo));
if(!achou){
     printf("Nome nao encontrado\n");
}
printf("\n----------------------------------------------------------\n\n");
A cada leitura/escrita, o cursor avança na quantidade de bytes correspondentes à estrutura lida/escrita. Sua estrutura tem 62 bytes. Então esse é o tamanho dos blocos que são lidos/escritos. Quando você quiser alterar um deles, é só posicionar o cursor com fseek() no começo do bloco correspondente e escrever o registro alterado por cima do existente com fwrite() mesmo.


Boa tarde amigo, eu fiz o alterar, mas não está funcionando, ele fecha o programa sozinho, o que poderia ser?

O codigo é esse: http://pastebin.com/jzRZhpAe

E a respeito da função não conseguir nem começar ela, não teria como você me arrumar ela e explicar ela?

Amigo fiz a função alterar, mas ela fica fechando sozinha, o que poderia ser?

O programa é esse: http://pastebin.com/1MetRzPs

Já a função excluir nao conseguir fazer, você não poderia fazer ela e explicar-la por favor?

Vlw

In Topic: Dúvida Em Alterar/Excluir Registro De Arquivo C

28/02/2012, 17:41

hehe vlw, to aproveitando o maximo que posso do meu tempo livre, entre escola e escola..kkkk
entao eu modifiquei a função de pesquisa, só que ela fica agora repetindo a mensagem nao encontrado 2x ou o nome da banda 2x..
E tentei fazer a função alterar, mas nao conseguir, será que pode me explicar mais simples ou me dar um exemplo?

Aqui o novo codigo:
http://pastebin.com/naYR97Sq

IPB Skin By Virteq