Ciao a tutti,
come da titolo ho un problema nel modificare il contenuto di un vettore di stringhe.
L'esercizio in questione richiede di costruire una funzione: questa riceve come argomento un vettore di stringhe di dimensione fissata. La funzione richiede di inserire da tastiera una stringa di testo e, una volta inserita, questa deve essere divisa nelle parole che lo compongono, parole che poi dovranno essere usate per riempire il vettore ricevuto in argomento. La funzione restituisce la dimensione del vettore(int).
Questo è il codice della funzione che ho scritto:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define DIMMAX 100
int elaboraTesto(char *v[]);
int main(){
int i;
char *testo[DIMMAX];
i = elaboraTesto(testo);
return 0;
}
int elaboraTesto(char *v[])
{
Stringa s;
int i;
printf("Inserire un testo: ");
gets(s);
v[i] = strtok(s, " ");
while(v[i] != NULL){
++i;
v[i] = strtok(NULL, " ");
}
return i;
}
Quando però vado a stampare gli argomenti del vettore testo, non ottengo il risultato sperato ma solamente simboli. Per eseguire questa istruzione ho solamente usato un ciclo for per iterare sul vettore, quindi credo il problema sia nel modo in cui vado ad implementare le parole in testo.
Potreste aiutarmi?