Ir ao conteúdo
  • Cadastre-se

André T Franco

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

6
  1. @arfneto Eu queria alterar o arquivo original mesmo ( o arquivo1.txt ), eu não sabia que era possível fazer isso que você me ensinou kkkk, mas obrigado mesmo, e mais uma vez peço desculpas por postar a "imagem" ao invés do texto ou o arquivo diretamente kkkk. Só tenho a agradecer, consegui resolver o problema graças aos ensinamentos de todos vocês. Esses seriam os arquivos referentes aos problemas que postei, mas como mencionei consegui resolvê-los graças a ajuda de vocês. arquivo1.txt arquivo2.txt
  2. Perdão meus nobres, passei uns dias sem acesso ao fórum, desde já agradeço bastante por todas as dicas e ensinamentos repassados. Irei tentar aqui como você recomendou @devair1010. Também farei a tentativa recomendada @Felipecfk. Peço desculpas por inserir apenas a imagem @arfneto , sim, eu queria alterar o texto do arquivo .txt original. Pois esse arquivo vai ser apenas para leitura em outra etapa do meu algoritmo, porém, para ser lido da forma desejada esse espaço faz toda a diferença.
  3. Galera, preciso de uma ajuda com um algoritmo que estou desenvolvendo, inclusive abri outro tópico há uns dias atrás a respeito de outras dúvidas que surgiram sobre ele e o pessoal me ajudou bastante. Bom, é o seguinte: eu preciso inserir um caractere de espaço em um arquivo1 de entrada, porém todas as minhas tentativas de inserir esse espaço me resultaram na perca de 1 caractere, pelo que eu entendi o que está acontecendo é que o ao invés desse caractere ser adicionado/incrementado na posição desejada ele está substituindo o caractere já existente na posição por esse espaço. Nas minhas tentativas falha eu tentei direcionar o cursor até a posição desejada usando fseek( ) e em seguida imprimindo o espaço com fputc( ), também tentei deslocar o conteúdo do texto em uma posição posterior, mas dessa forma estou perdendo conteúdo no final do texto . Segue uma imagem do meu "arquivo1" com a indicação da posição que eu desejaria inserir esse espaço(já existe um espaço nessa posição e eu gostaria de acrescentar mais um). Além disso, se possível, eu também gostaria de saber como eu faria para remover esse espaço que foi inserido. #include <stdio.h> #include <string.h> int main() { FILE *arquivo1; arquivo1 = fopen("arquivo1.txt","r+"); fseek(arquivo1,-55,SEEK_END); fputc(' ',arquivo1); // inserindo espaço na posição desejada fclose(arquivo1); return 0; }
  4. @devair1010 Segue abaixo o arquivo1 que contém as strings "@ffea" e "@ffe4 :
  5. @devair1010Boa tarde amigo, obrigado por responder. Perdão kkk, eu só não postei o arquivo1/leitura porque não julguei necessário, só postei o arquivo2 de saída/escrita pelo falo do problema ser somente na saída, mas basicamente o que meu programa faz é ler esse arquivo1 e copiar o conteúdo hexadecimal após essas 2 strings "@ffea" e "@ffe4" e inserindo alguns valores FF entre os valores copiados e um q/n no final. Mais tarde quando tiver no Pc novamente posso mandar uma imagem do arquivo1 pra você entender melhor.
  6. Salve meus nobres, venho através desse post tirar uma dúvida que estou tendo a respeito de um algoritmo em C que estou desenvolvendo. Basicamente eu só preciso mover o cursor até a linha 2- coluna 49 e inserir uma quebra de linha \n. Segue abaixo meu código, e a imagens referentes ao arquivo de saída que preciso inserir esta quebra de linha. =============== CÓDIGO ======================= #include <stdio.h> #include <string.h> int main() { FILE *arquivo1 = fopen("arquivo1.txt", "r"); FILE *arquivo2 = fopen("arquivo2.txt", "w"); char buffer1[1000]; char buffer2[1000]; int encontrou1 = 0; int encontrou2 = 0; int ignorar1 = 0; int ignorar2 = 0; if (arquivo1 == NULL || arquivo2 == NULL) { printf("Erro ao abrir os arquivos.\n"); return 1; } while (fgets(buffer1, 1000, arquivo1) != NULL) { if (encontrou1 && strstr(buffer1, "@ffea") != NULL) { ignorar1 = 1; } if (encontrou1 && !ignorar1) { fprintf(arquivo2,"@FFE0\nFF FF FF FF "); (*strchr(buffer1,'\n')) = '\0'; fputs(buffer1, arquivo2); fprintf(arquivo2,"FF FF "); } if (strstr(buffer1, "@ffe4") != NULL) { encontrou1 = 1; } } fseek(arquivo1,0,SEEK_SET); while (fgets(buffer2, 1000, arquivo1) != NULL) { if (encontrou2 && strstr(buffer2, "q") != NULL) { ignorar2 = 1; } if (encontrou2 && !ignorar2) { (*strchr(buffer2,'\n')) = '\0'; fputs(buffer2, arquivo2); } if (strstr(buffer2, "@ffea") != NULL) { encontrou2 = 1; } } fprintf(arquivo2,"\nq\n"); fclose(arquivo1); fclose(arquivo2); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!