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

comparar dois arquivos


tahinf

Pergunta

olá!

estou tentando fazer um programa que lê um arquivo e procura nele certas palavras q está em outro arquivo. Está dando +- certo, só que a primeira palavra que está no arquivo chaves ele não encontra(mas está no outro arquivo)

#include <stdio.h>
#include <conio.h>

#include <stdlib.h>
#define max 100


int main(int argc, char *argv[])

{

    FILE * fp, *fp2;



    char ca[100], carc[100];


    if((fp=fopen("hello.txt","r"))==NULL)

    {

                                   printf("Erro");

                                   exit(1);

                                   }
    if((fp2=fopen("chaves.txt","r"))==NULL)

    {

                                   printf("Erro");

                                   exit(1);

                                   }



    fgets(ca,max,fp);
    fgets(carc,max,fp2);




    while((!feof(fp)))



    {              if(strstr(ca, carc)==NULL)
                    {  printf("\nnão encontrou\n");
                                          }
                    else
                    {
                        printf("%s",carc);

                     }




                   fgets(ca,max,fp);
                    fgets(carc,max,fp2);

}





  fclose(fp);
    fclose(fp2);
  system("PAUSE");

  return 0;

}

arquivo hello:

#include <stdio.h>

void

main()

{

printf ("Hello World!\n");

int i;

}

arquivo chaves:

void

int

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

agora ele lê o void, mas mesmo sendo iguais tá falando que não são e não tá indo pra próxima palavra que seria int e comparando no arquivo inteiro novamente. alguém pode ajudar?

#include <stdio.h>
#include <conio.h>

#include <stdlib.h>
#define max 100

FILE * fp, *fp2;

void open()
 {

    if((fp=fopen("hello.txt","r"))==NULL)

    {
        printf("Erro");
        exit(1);
    }
 }

 void open2(){
    if((fp2=fopen("chaves.txt","r"))==NULL)
    {
        printf("Erro");
        exit(1);
    }
 }

int main(int argc, char *argv[])

{


 open();
 open2();


    char ca[100], carc[100];


    fgets(ca,max,fp);
    fgets(carc,max,fp2);




    while((!feof(fp2)))
    {


        while((!feof(fp)))
        {
            printf("\n carc: %s",carc);
            printf("\n ca: %s",ca);

          if(strcmp(ca, carc)!=0)
                    {  printf("\n");
                                          }
                    else
                    {
                        printf("    ENCONTROU  %s",carc);

                     }


        fgets(ca,max,fp);
        }
              fclose(fp);
              open();
            fgets(ca,max,fp);
            fgets(carc,max,fp2);

}





  fclose(fp);
    fclose(fp2);
  system("PAUSE");

  return 0;

}

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