PDA

Visualizza la versione completa : [C] E' possibile inserire il valore di strtok in un vettore?


ZioDema2
16-03-2010, 20:01
Buonasera, ho il seguente problema :

/*Esercizio n. 3
Realizzare un programma che, fornito un testo mediante la tastiera, calcoli e stampi la frequenza
statistica delle parole in esso contenute, escludendo dal computo alcune particelle (esempio:
di, a, da, in, con, su, per, tra, fra, ecc.) fornite sempre da tastiera nella fase iniziale.
Prevedere che il testo possa contenere tutti i tipici segni di interpunzione (',','.',':', ecc.)
e che le parole possano essere evidentiate da apice semplice e da doppio appice (esempi:
'parola' oppure "parola"): tutti questi segni devono essere ignorati. Si consiglia di
leggere una riga per volta e di utilizzare la funzione strtok per parsificare la riga.
Si puo' ritenere che le parole diverse da cercare non siano superiori a 200, la lunghezza
massima delle parole sia di 15 caratteri, che il numero di particelle da escludere sia al
massimo 30 e che la lunghezza massima di una riga sia di 80 caratteri.
*/

Allora, avevo pensato di inserire la riga di testa con una getchar, inserirla in un vettore e successivamente andando a spezzettarla con la strtok.
Il mio dubbio, sta nel fatto dei confronti delle parole, cioè, posso mettere il contenuto di strtok in un vettore e successivamente andare a confrontare gli elementi del 1° vettore, con quello del 2° ? (Tale domanda è dovuta al fatto di non aver capito benissimo il funzionamento di strtok credo).
Grassie a tutti per le risposte ;)

xnavigator
16-03-2010, 21:40
vatti a guardare strcmp pure

ZioDema2
16-03-2010, 21:42
Lo sapevo che avrei dovuto usare strcmp, la mia domanda era sul salvataggio dei token, se era possibile fare cio che avevo in mente o altrimenti, una soluzione alternativa.

ZioDema2
19-03-2010, 16:04
Up

shodan
19-03-2010, 17:52
Sostanzialmente la strtok mette dei NULL al posto dei carattere di split e ritorna il puntatore al carattere successivo. Il risultato è che l'utente penas di avere delle stringhe indipendenti ma non è così (può dipendere dall'implementazione comunque).
Quindi se vuoi che le varie stringhe siano veramente indipendenti le devi ricopiare.

Loading