[C++] Editar arquivo de parametros

2 respostas
rodrigo1

Caros,

Como editar um arquivo de parâmetros tipo:

parametro1: 0.50
parametro2: texto
parametro3: 8

sendo que:

  • o arquivo é muito grande, não seria legal carrega-lo na memória;
  • alguma coisa do tipo editarParametro(“parametro2”, “texto modificado”)
  • alguém me disse para truncar o arquivo, mas não entendi mui bem,
    com isso funciona?

2 Respostas

T

Se o arquivo de parâmetros é em formato texto, você tem duas opções:

  • Se o parâmetro editado NÃO MUDAR DE TAMANHO (ou seja, " parametro1: 0.50 " passar para " parametro1: 0.78 ", então você pode acessar o arquivo como sendo um arquivo de acesso aleatório (use fseek e ftell), e simplesmente sobreponha o parâmetro.
  • Se você tiver de alterar o tamanho, acrescentar ou remover um parâmetro, não tem jeito - você tem de ler o arquivo linha a linha, e gravar linha a linha, inserindo, modificando ou removendo as linhas adequadas. Não é preciso carregar o arquivo inteiro na memória, mas você tem de trabalhar com 2 arquivos distintos (o de entrada e o de saída), remover o arquivo de entrada e renomear o arquivo de saída para o nome original do arquivo de entrada.
rodrigo1

No caso é a segunda opção, o parâmetro altera o tamanho.

Achava que talvez tivesse alguma alternativa para não ter que criar um segundo arquivo.

Valeu pela resposta!!!

Criado 10 de junho de 2008
Ultima resposta 10 de jun. de 2008
Respostas 2
Participantes 2