Ciao a tutti, sto riscontrando un problema con il seguente codice , credo sia unitilizzo malsano dei puntatori di puntatori , o magari ho impostato male la funzione, il codice è questo :
#include<stdio.h>
#include<string.h>
#include<malloc.h>
struct stringhe{
char *str;
};
void delC(char c, char *s);
int main (){
int i,n;
char c;
struct stringhe *arr= (struct stringhe*) malloc(sizeof(struct stringhe));
printf("Dammi il numero di stringhe da memorizzare: ");
scanf("%d",&n);
for(i= 0; i<n; i++ ){
printf("Inserisci la stringa numero %d: ", i+1);
scanf("%s", ((*(arr+i)).str));
}
printf("Dammi il carattere da eliminare su tutte le %d inserite: ", n);
scanf("%s", &c);
for(i=0;i<n;i++){
delC(c,(*((*(arr+i)).str)));
printf("La stringa risultante e': %s", ((*(arr+i)).str));
}
return i;
}
void delC(char c, char *s){
int i,j;
for(i=0, j=0; i<strlen(s); i++)
if(s==c){
s[j] = s[i+1];
j++;
}
s[j]='\0';
s=(char*) realloc(s, (j+1)*sizeof(char));
}
qualcuno mi può aiutare a capire dove sbaglio???
grazie a tutti per la disponibilità.