Codice:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void rimuovi_caratteri(char *c);
void rimuovi_caratteri(char *c)
{
char ch[10]= ".;][}{()";
char *chr;
char *deletech;
//sto passando a deletech il contenuto di 'c' che sarebbe l'indirizzo di memoria del primo elemento dell'array nel main//
deletech = c;
// passo al puntatore a caratteri l'indirizzo di memoria del primo elemento dell'array ch[10]//
//
chr = ch;
char *b;
// passo a b il contenuto di c che sarebbe l'indirizzo di memoria del primo elemento dell'array nel main //
b = c;
//potevo anche scrivere while (*c) era la stessa cosa//
while(*c != '\0' && *chr !='\0')
{
if(*c == *chr)
{
c++;
deletech++;
chr++;
*deletech = *c;
}
*deletech = *c;
deletech++;
c++;
}
*deletech = '\0';
}
int main()
{
char stringa[7] = "c[) iao";
int i;
int dim;
dim = strlen(stringa);
for(i=0;i<dim;i++)
{
printf(" %c",stringa[i]);
}
printf("\n");
printf("la dimensione della stringa %d\n",dim);
rimuovi_caratteri(stringa);
for(i=0;i<dim;i++)
{
printf(" %c",stringa[i]);
}
printf("\n");
return 0;
}
quello che mi servirebbe è eliminare dall'array char stringa nel main i caratteri presenti nell'array ch, l'ho compliato e mi stampa la stessa stringa senza rimuovere i caratteri desiderati