Overflow (Normal User)
Expert
Messaggi: 334
Iscritto: 11/01/2008
|
ciao se utilizzi il mio primo codice:
Codice sorgente - presumibilmente C++ |
#include <stdio.h> #include <string.h> int main() { char txt[1024]={"0,0"}; char parole[255][255]={"0,0"}; FILE *fp; int i, n, m; fp = fopen("C:\\prova.txt","r"); for(i=0; ((txt[i]=getc(fp)) != EOF);i++) ; n =0; m=0; for (int y=0, n=0, m=0; y!=i;y++,m++) { if (txt[y]==' ') { n++; m=-1; } else { parole[n][m]=txt[y]; } }
|
avrai una matrice inizializzata da tutte le paroleche ci sono nel file.
a questo punto per verificare se all'interno di ogni parola(cioè le parole presenti nella matrice) ce ne è un altra puoi usare l'ultimo codice che ti ho postato.
nn so se ti sono stato d'aiuto.
ciao
|
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
No ... il codice e' sempre semplice ... dovra' essere
Codice sorgente - presumibilmente C++ |
int main() { char parolacercata[200] = "non"; char linea[1024]; char *str; FILE *fp; fp = fopen("c:\\file.txt","r"); while(1) { if(!fgets(linea, 1024, fp)) break ; if(str=strstr(linea, parolacercata)) { printf("Parola trovata nella linea: %s\n", linea); break; } } fclose(fp); }
|
Tieni presente che la parola che cerchi potrebbe far parte della frase, ma non essere proprio una parola ... cioe', se hai la linea
essereononessere
e cerchi la parola
reo
questa viene trovata ...
Ultima modifica effettuata da gantonio il 26/01/2008 alle 21:18 |
|
Dark_Limit (Ex-Member)
Expert
Messaggi: 220
Iscritto: 15/01/2008
|
Grazie mille !! Funziona alla perfezione mi siete stati molto di aiuto !! ciao.
|
|
Dark_Limit (Ex-Member)
Expert
Messaggi: 220
Iscritto: 15/01/2008
|
Scusa 'Gantonio' ma nell'esempio che mi hai dato come faccio a confontare più stringhe nel ciclo if cioè :
Codice sorgente - presumibilmente Plain Text |
if(str=strstr(linea, parolacercata))||(str=strstr(linea,parolacercata1))
{
//fai qualcosa
}
|
così il compilatore mi da errore..
|
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Devi scrivere
Codice sorgente - presumibilmente C/C++ |
if ( strstr(linea, parolacercata) || strstr(linea, parolacercata1) )
{
// ...
}
|
ed elimina la variabile str dichiarata all'inizio
|
|
Dark_Limit (Ex-Member)
Expert
Messaggi: 220
Iscritto: 15/01/2008
|
Ti ringrazio !!
|
|