fabiano_ 0 Denunciar post Postado Dezembro 13, 2006 Pessoal, gostaria de saber de como gravar uma string no meio de um arquivo, sem apagar o que esta la.ex 000100030004gravando 00020001000200030004gravavar na posicao vai sem problemas,mas apaga o que estava na posição.#include <stdio.h>#include <stdlib.h>#include <conio.h>void meio();//Variaveis GlobaisFILE *Arquivocoleta;char bufgeral[20];char pedido[9];void main(void){ int i=0; clrscr(); sprintf(bufgeral,"0002",4); meio();};void meio(){if ((Arquivocoleta=fopen("coleta.txt","r+"))==NULL) { printf("ERRO AO ABRIR ARQUI"); exit(1); } else { fseek(Arquivocoleta,(4*1),0); aponta para o final da linha 1 if(fwrite(bufgeral,4,1,Arquivocoleta)!=1); //grava na linha 2 } fclose(Arquivocoleta);} Compartilhar este post Link para o post Compartilhar em outros sites
Edd 0 Denunciar post Postado Dezembro 14, 2006 Pessoal, gostaria de saber de como gravar uma string no meio de um arquivo, sem apagar o que esta la. ex 0001 0003 0004 gravando 0002 0001 0002 0003 0004 gravavar na posicao vai sem problemas,mas apaga o que estava na posição. #include <stdio.h> #include <stdlib.h> #include <conio.h> void meio(); //Variaveis Globais FILE *Arquivocoleta; char bufgeral[20]; char pedido[9]; void main(void) { int i=0; clrscr(); sprintf(bufgeral,"0002",4); meio(); }; void meio() { if ((Arquivocoleta=fopen("coleta.txt","r+"))==NULL) { printf("ERRO AO ABRIR ARQUI"); exit(1); } else { fseek(Arquivocoleta,(4*1),0); aponta para o final da linha 1 if(fwrite(bufgeral,4,1,Arquivocoleta)!=1); //grava na linha 2 } fclose(Arquivocoleta); } use a+ inves de r+ na fopen fopen("coleta.txt","a+") Compartilhar este post Link para o post Compartilhar em outros sites
fabiano_ 0 Denunciar post Postado Dezembro 14, 2006 o a+ grava só no fim do arquivoestou pesquisando lista encadeada, mas ainda não sei como fazer. Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Dezembro 18, 2006 como os dados foram gravados no arquivo?se voce usar uma estrutura e manipular seu arquivo como binário a substituicao eh facil, Compartilhar este post Link para o post Compartilhar em outros sites
NorTheR 0 Denunciar post Postado Dezembro 18, 2006 Arquivos + estrutura é o segredo, não há coisa mais facil que gravar usando estruturas... mto 10..Pelo que sei não há saida gravando cada variavel, pois ele vai gravar no arquivo as variaveis de acordo com o que vai lendo, e se ele gravar no arquivo as variaveis A e B, e depois se o usuario quiser ver o valor de B primeiro, vai ver o valor de A, pois foi gravada primeiramente, sacow?! Compartilhar este post Link para o post Compartilhar em outros sites
fabiano_ 0 Denunciar post Postado Dezembro 18, 2006 os dados foram gravados sequencialmente e após o termino, o cliente entra com novos dados,e para a consulta tenho que deixar o arquivo ordenado.se caso o cliente quiser ver o valor de A ou B eu faço uma busca binaria e ja era.estou mudando o projeto, estou abrindo o arquivo em uma lista encadeada. parece mais ser mais facil. Compartilhar este post Link para o post Compartilhar em outros sites
Edd 0 Denunciar post Postado Dezembro 27, 2006 não sei como está seu codigo agora mas...você pode manipular a posição em q vai ser gravado no arquivo com a função fseek Compartilhar este post Link para o post Compartilhar em outros sites