Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

serginho_pv

perda de dados

Recommended Posts

estou usando o seguinte comando para abrir um arquivo:

arq_f = fopen("filmes.asr","rb");

 

mas ele só grava 1 registro.

arq_f = fopen("filmes.asr","rb");
while (opt2!=2) {
	printf("\n\n\nCadastramento de Filmes\n");
	printf("\n1-Incluir Filme no Acervo");
	printf("\n2-Retornar ao menu anterior");
	opt2 = getch() - 48;
	switch(opt2) {
		case 1:
			printf("\nCodigo do filme: "); scanf("%s", &(FIL.cod_filme)); fflush(stdin);
			printf("Titulo: "); scanf("%s", &(FIL.titulo)); fflush(stdin);
			printf("Genero: (Aventura, Romance...): "); scanf("%s", &(FIL.tipo_filme)); fflush(stdin);
			strcpy(FIL.status, "DISPONÍVEL");
			strcpy(FIL.cod_cliente, "");							
			fwrite(&FIL,sizeof(filmes),1,arq_f);
			fclose(arq_f);
		break;
	}
 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha como você abre o arquivo...

 

r - read

b - binary

 

Não rola escrever num arquivo de leitura, não é??

 

e.... eu vi um fflush(stdin) ali... eu não acredito.

Vá no subfórum Artigos e Códigos fonte e verá um tópico que escrevi, pendurado, sobre o assunto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.