Josefran Postado Outubro 31, 2008 Denunciar Share Postado Outubro 31, 2008 Como faço para alterar somente uma linha do arquivo que criei? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Josefran Postado Novembro 5, 2008 Autor Denunciar Share Postado Novembro 5, 2008 alguém??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Novembro 5, 2008 Denunciar Share Postado Novembro 5, 2008 alguém???opa tinha esquecido de você..você vai ter q reescrever o arquivo intero, só isso.abre o arquivo e já copiando as linhas pra um novo arquivo. e a linha q você quer tirar, simplesmente não copia.pelo menos não acho q exista forma de alterar direto no arquivo sem ter q reescreve-lo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Josefran Postado Novembro 6, 2008 Autor Denunciar Share Postado Novembro 6, 2008 Pensei em fazer isso mas eu tive um problema... tipo tenho um arquivo chamado texto.txt e quero alterar uma determinada linha dele e salvar o arquivo com o mesmo nome se eu colocar um novo arquivo no buffer aberto como "w" não vai dar pane ou algo assim. porque quando abro o arquivo do tipo fopen("texto.txt", "w") ele deleta o arquivo caso já existia e ai?Melhorando a duvidaSuponha que eu tenha um arquivo tex.txt salvo ai eu declaro dois ponteiros tipo FILE digamos p e fp. Dai fazemos p = fopen("tex.txt","r") e fp = fopen("tex.txt","w"). ok. não vai dar pane ai não? pois eu estou deletando um arquivo que esta no buffer e quando eu precisar fechar ele? porque quando abro fp ele deleta o arquivo tex.txt porque já existe. Deu para entender a duvida ou me embananei? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Novembro 6, 2008 Denunciar Share Postado Novembro 6, 2008 é mas imagino q os softwares costumem fazer assim mesmo. por exemplo, o word, quando você altera uma linha, ele não inclui essa linha somente dentro do arquivo no hd, ele simplesmente reescreve todo o arquivo.quem imagino q escreve direto no hd é programa de banco de dados tipo access, sql, mas pra fazer isso, tb imagino q seja alguma coisa de nivel bem baxo, muito complicado de se fazer.pelo menos não possivel usando fopen e etc.mas tipo, o q os softwares costumam fazer é abrir o arquivo e carregar tudo na memoria. e então ele perde o vinculo com o arquivo no hd.experimenta abrir uma imagem no paint. com a imagem aberta, vai la no explorer e delete ela. você vai ver q consegue deletar sem problemas. mas ela continua aberta no paint, porque esta carregada na memoria e ai você consegue salvar onde quiser.então você teria q fazer uma coisa assim. vejo duas opcoes pra você:1 - abra o arquivo e carregue tudo na memoria dentro de uma string e então fecha o arquivo. tira a linha q você quer, abre de novo o mesmo arquivo, dessa vez para escrita e sobreescreve toda a informacao tirando a linha q você quer.essa opcao acho q seria a mais "correta" mas tb a mais complicada, pois você teria q por o arquivo todo numa string, ou num array de string, e trabalahr com string é triste.2 - abra o arquivo q você quer alterar e abra um segundo arquivo qualquer em qualquer endereco. então salve o arquivo modificado nesse segundo arquivo, apague o original, e renomeie o segundo com o mesmo nome do primero e ponha no mesmo diretorio. pronto, você substituiu o arquivo pelo modificado e ta la sem problemas.essa opcao seria mais facil e não vejo muito problema com ela, apesar de acho q com a otra ficaria mais bunito, mas você só precisaria saber as funcoes pra renomear e apagar arquivo, q eu não sei quais são, mas você deve encontrar facil no google ou acho q ate pode suar os comandos de dos com a funcao system(), nunca tentei mas pode funcionar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Josefran Postado Novembro 6, 2008 Autor Denunciar Share Postado Novembro 6, 2008 ok deu certomuito grato abração kuroi Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Josefran
Como faço para alterar somente uma linha do arquivo que criei?
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.