Ir para conteúdo
Fórum Script Brasil
  • 0

Gravação De Inteiros Em Arquivo


Guest Gleisson de Assis

Pergunta

Guest Gleisson de Assis

Olá pessoal,

Eu estou querendo criar um contador para que eu pessoa gerar chaves primárias para os registros que eu vou inserir em um arquivo.

O programa abaixo funcionando aparentemente gravando 1.. 2.. 3... 4..... 10... 11... 12... porém quando chega no 13 ele volta a contagem (1.. 2.. 3... 4... 10... 11... 12).

O código que estou compilando é o seguinte:

#include <stdio.h>
#include <stdlib.h>

int main() {
	FILE *fp;
	int numero = 0;

	if(fp = fopen("contador.dat", "r+")) {
  fread(&numero, sizeof(int), 1, fp);
  fclose(fp);
  numero++;
  
  fp = fopen("contador.dat", "wb");
  fwrite(&numero, sizeof(int), 1, fp);
  fclose(fp);
	} else {
  fp = fopen("contador.dat", "wb");
  fwrite(&numero, sizeof(int), 1, fp);
  fclose(fp);
	}	
	printf("%d", numero);
}

Seu eu mudar de int para double ele grava sem problemas até 2061.

Existe um erro no meu código?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Rapaz, foi mal, minha dica foi furada mesmo, é que desde muito tempo q não programo C++, confundi com o printf.. rsrs

Eu testei teu código aqui e o mais incrível é que ao invés de ir até 13 ele vai até 26, e depois recomeça...

Vou dar uma pesquisada nos livros em casa, se descobrir algo posto a noite...

Abraço

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...