
Originariamente inviata da
oregon
Il ciclo for deve stare all'interno del while.
codice:
for(int i =1; i < argc; i++)
{
if(strcmp(dictword, argv[i])==0)
{
printf("found %s\n", argv[i]);
}
}
Grazie mille per la risposta, ora funziona perfettamente. Nel frattempo ho continuato a lavorare alla versione che non utilizza gli argomenti della console, ma una stringa che inserisce l'utente, che ovviamente puo' contenere piu' di una parola. Il problema e' sempre lo stesso, l'output si ferma alla prima parola che il dizionario riconosce.
Ho scritto questo codice:
codice:
#include <stdio.h>#include <stdlib.h>
#include <string.h>
int main(int argc, char **argv)
{
FILE* dictionary = fopen("dictionary.txt", "r");
char wordcheck[256];
char dictword[45];
scanf("%[^ \n]s", wordcheck);
int c;
while(c!= EOF)
{
c = getc(dictionary);
fscanf(dictionary, "%s", dictword);
if(strcmp(dictword, wordcheck) == 0)
{
printf("found %s\n", wordcheck);
}
}
fclose(dictionary);
return 0;
}