Originariamente inviato da ESSE-EFFE
Ci sono diversi problemi o potenziali problemi nel tuo codice. Il principale direi che è la funzione compare che hai scritto (quei confronti tra puntatori). E tra l'altro non ti serve nemmeno, dato che per verificare se una stringa (in questo caso sentence[]) è contenuta in un'altra (ary[]) puoi sfruttare la funzione strstr.
Ho cambiato il compare con la funzione che mi hai suggerito strstr e sembrava funzionasse, invece no.
Quali sono gli altri problemi chi hai trovato?
Riposto il codice modificato:
codice:
void main()
{
char sentence[]="1,2";
FILE *my_file;
char string[2000];
int ind=0;
int rest;
int trovato = 0;
int got;
my_file=fopen("File.txt", "r");
if(my_file==NULL)
printf("I couldn't open the file\n");
else
{
string[0]='\0';
while((got=fgetc(my_file))!=EOF)
{
if(got!='/')
{
string[ind++]=(char)got;
}
else
{
string[ind++]='\0';
rest = strstr(sentence, string);
if(rest==0)
{
found =1;
printf("found\n");
return;
}
ind=0;
//delete the array
int x=0;
while(string[x]!='\0')
{
string[x]='\0';
x++;
}
}
}
if(found==0) printf("not found\n");
fclose(my_file);
}
}
Originariamente inviato da oregon
Le stringhe non si confrontano con
str1>str2
str1<str2
str1==str2
Capito. Grazie per la risposta.
Originariamente inviato da MItaly
Benvenuto sul forum

; ti ricordo che il linguaggio di riferimento va indicato anche nel titolo come "tag", ora correggo io, in futuro ricordatene.
Si, la prossima volta me ne ricorderò. Grazie!