Il fatto è che non ho specificato perché non ci ho capito molto.
Io so che la funzione “memmem” ha un prototipo del genere:
Void *memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen);
Di conseguenza, seguendo anche la spiegazione che ho, ho intuito che la funzione cerca la sequenza “needle” di lunghezza “needlelen” in “haystack” di lunghezza “haystacklen” e che ritorna un puntatore se trova la corrispondenza o un NULL se non la trova.
Adesso prendendo anche in esame alcuni esempi online(ribadisco che non avevo e non ho capito come utilizzarla) ho scritto un programma del genere:
#include <stdio.h>
#include <string.h>
int main() {
int b,c;
char *j;
printf(“-Quanti byte deve avere la stringa A: “);
scanf(“ %d”,&b);
printf(“-Che valore devono contenere? “);
scanf(“ %d”,&c);
char a[b];
char d[b-1];
memset(a, c, b);
memcpy(d, a, b);
j = (char*) memmem(a,b,d,b);
return 0;
}
Inseguito volevo scrivere un if che prendesse in esame il valore ritornato dalla memmem che nel caso fosse stato un NULL avrebbe scritto che non c’era corrispondenza della seconda stringa nella prima e viceversa nel caso fosse ritornato un puntatore.
Penso di aver sbagliato praticamente tutto perché sono andato più a intuito.
Grazie mille in anticipo.