
Originariamente inviata da
torn24
Hai modificato il codice che non mostri, quindi non si può dire nulla.
Nel primo codice "quello che hai postato", noto un errore logico, usi la variabile t, per sommare il valore ascii della sequenza di caratteri, MA POI non la riporti a zero, quindi nei confronti successivi il confronto sara sempre false.
codice:
while(v1=getc(f1)!=' '){
t+=v1; // Sommo il valore ascii della stringa
}
if(r1==0||r2==0)return-1;
if(v2==t) k++; // faccio il confronto
if(v2!=t)return0;
t=0; // riporto a zero per la stringa sucessiva
Perdonami, allego il resto:
codice:
codice:
do{
fscanf(f2,"%d",&r2); //r2 = fread(&v2, sizeof(int), 1, f2);
while(v1=getc(f1)!=' '){
t+=v1;
}
if (r1==0||r2==0) return -1;
if(r2==t) k++;
if(r2!=t) return 0;
t=0;
}while(r1>0||r2>0);
return k;
}
Ho corretto quell'imprecisione , però credo di aver usato la fscanf in modo scorretto.