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

Dúvida em c


Lucaslrt

Pergunta

Olá pessoal.

Eu gostaria de saber se tem algum jeito de eu fazer uma alteração em um arquivo de texto sem eu ter que, ou perder todos os outros dados do arquivo ou ter que regrava-los depois.

Por exemplo, no meu arquivo de texto está escrito:

"15

pessoa 003"

ai eu gostaria de modificar para:

"16

pessoa003"

sem ter que copiar tudo, exceto o que eu quero modificar, para regravar depois.

E ai? Será que tem jeito? Agradeço desde já.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá,

Tem como fazer isso sim.

A única restrição é que você só vai poder sobrescrever o mesmo número bytes, por exemplo:

Se no arquivo a ser reescrito consta (sem aspas):

"15\npessoa003"

Você poderá reescrever a partir do início do arquivo (sem prejudicar o 'pessoa003'):

"16\npessoa003",

pois o que foi escrito (16) tem o mesmo número de bytes do que estava lá (15).

Entretanto, se você tentar escrever algo com número de bytes maior do que aquilo que estava lá, o 15, o resto do arquivo será prejudicado, isto é, o 'pessoa003' vai ser, pelo menos em parte, sobrescrito também.

Segue o código:

#include <stdio.h>

int main (int argc, char *argv[]) {
    int p = 16;
    FILE *arquivo = fopen("arquivo.txt", "r+");

    fprintf(arquivo, "%d", p);
    fclose(arquivo);
    return 0;
}

Nota: arquivo.txt tem o seguinte conteúdo:

15

pessoa003

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,2k
    • Posts
      652k
×
×
  • Criar Novo...