Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jêremy

[Resolvido] Erro na Hora de Executar

Recommended Posts

Esse código tá dando um erro na hora de executar, e eu não consigo achar de jeito nenhum.

 

o programa compara uma lista com a outra e grava as semelhanças no arquivo kill

 

pv.exe lista processos

 

 

 

 

 

 

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
  main()
  {
	system("pv.exe > pv.news");
	char blist[80], pv[80], kill[1024];
	int cmp, y, x, a, b;
	FILE *black, *prv, *kil;
	
	a=0;
	b=0;
		 
	black=fopen("blacklist.txt","r");
	prv=fopen("pv.txt","r");
	kil=fopen("kill.txt","w+");
	x=2;
	y=2;
	
   while(feof(black)!=1) {
			
			strcpy(blist,fgets(blist,40,black));
			printf("%s", blist);

				  while(feof(prv)!=1) {
							  
					strcpy(pv,fgets(pv,20,prv));			  
					a=strlen(pv); 
					b=strspn(blist, pv);
					if(a==b) {
						 strcat(blist,"\n");
						 fputs(blist,kil); }
								}
			 }

			
	  fclose(black);
	  fclose(prv);
	 fclose(kil);
   
		 
		 
	
	system("pause");
	
}

 

por favor me ajudem!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Titulo editado conforme as regras do fórum.

---------------------------------------------------

 

Cara, isso ai vai ficar meio lento...

Não era melhor você jogar o conteúdo dos dois arquivos na memória e fazer as comparações?

 

O teu erro:

você tem dois loops, encadeados:

while (quaqluer_coisa)
{
	while (qualquer_outra_coisa)
	{
		//aqui você ta percorrendo o arquivo "prv", e só sai desse loop quando estiver no final.
	}
}

você tem que rebobinar o arquivo "prv" quando sai do segundo while para que al entrar nele novamente, o arquivo esteja no início!

veja:

while (quaqluer_coisa)
{
	while (qualquer_outra_coisa)
	{
		//aqui você ta percorrendo o arquivo "prv", e só sai desse loop quando estiver no final.
	}
	rewind(prv);
}

 

Pra que você faz isso??

strcpy(blist,fgets(blist,40,black));
quando apenas o fgets bastava....

fgets(blist,40,black);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.