Ir ao conteúdo
  • Cadastre-se

André T Franco

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

posts postados por André T Franco

  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

    • Amei 1
  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.

    • Obrigado 1
  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.

    image.png.ca68a0bc57c248a1c8eea497254acb43.png

    image.png.9540a2d7aaf526a1972c48182c6077f2.png

    #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;
    }

     

    • Amei 1
  4. @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.

    • Obrigado 1
  5. 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;
    }

     

    real.png

    ideal.png

    • Amei 1

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...