[C] Stringa contenuta in un'altra.

Flamber
Buonasera a tutti, vorrei porvi un problema, l'algoritmo che ho pensato e la possibile traduzione in C di questo algoritmo.

ciò che mi viene chiesto di fare è scandire due stringhe, con la seconda grande al massimo quanto la prima, e verificare se la seconda è contenuta nella prima.

ad esempio:
S1="alessandro"
S2="ssa" è contenuta in S1
S3="esa" non è contenuta in S1

cioè devono essere contigue le lettere della seconda nella prima stringa

Ciò che avevo pensato era prima di tutto acquisire la lunghezza della seconda stringa con strlen, e poi far una strncmp, man mano escludendo il carattere più a sinistra. Ma non so come tradurlo in C.

Quale potrebbe essere una possibile soluzione?

Risposte
hamming_burst
prova a proporre il codice anche se sbagliato, noi cercheremo di chiare i punti non chiari o sbagliati.

Flamber
il problema è che non ho un codice. ripeto pensavo di usare strncmp ma non so come

lordb
La funzione
char *strstr(const char *s1, const char *s2);
fa al caso tuo http://pubs.opengroup.org/onlinepubs/00 ... trstr.html .

Flamber
strstr mi restituirà una stringa, e cosa ci sarà in questa stringa?

lordb
<< Upon successful completion, strstr() shall return a pointer to the located string or a null pointer if the string is not found.
If s2 points to a string with zero length, the function shall return s1. >>

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.