Supprimer espace ou caractères spéciaux en C
Lermit
-
bigmanes Messages postés 11 Statut Membre -
bigmanes Messages postés 11 Statut Membre -
Bonjour, je m'énerve depuis maintenant quelques temps sur une fonction qui consiste à supprimer des caractères placés préalablement dans un tableau dans le main comme ' ' ou '-'
enfin voilà le terminal me met toujours erreur de segmentation et donc je ne sais pas si ma fonction marche
char* copie_sans_separateur (char *s, char sep[])
{int i,j,k;
for (i=0; s[i]!='\0'; i++)
{if (s[i] == sep[j] || s[i] == sep[j+1])
{for (k=i; s[k]!=0; k++)
s[k]=s[k+1];
}
}
return s;
}
merci d'avance pour votre aide
Lermit
enfin voilà le terminal me met toujours erreur de segmentation et donc je ne sais pas si ma fonction marche
char* copie_sans_separateur (char *s, char sep[])
{int i,j,k;
for (i=0; s[i]!='\0'; i++)
{if (s[i] == sep[j] || s[i] == sep[j+1])
{for (k=i; s[k]!=0; k++)
s[k]=s[k+1];
}
}
return s;
}
merci d'avance pour votre aide
Lermit
A voir également:
- Supprimer espace ou caractères spéciaux en C
- Supprimer rond bleu whatsapp - Guide
- Caractères spéciaux - Guide
- Caractère spéciaux - Guide
- Espace insécable - Guide
- Caractères spéciaux mac - Guide
3 réponses
Salut,
teste :
Cdlt
teste :
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char* suppr(const char *ch,const char* sup){
char *s=malloc(strlen(ch)+1);
int k=0;
for(int i=0;i<strlen(ch)+1;i++){
int j;
for(j=0;j<strlen(sup)+1;j++)
if(ch[i]==sup[j]) break;
if(j==strlen(sup)+1) s[k++]=ch[i];
}
return s;
}
int main(void){
puts(suppr("$cou-co#u","$#-"));
return 0;
}
Cdlt