Fonction qui retourne l'adresse
joujou98
-
[Dal] Messages postés 6373 Statut Contributeur -
[Dal] Messages postés 6373 Statut Contributeur -
Bonjour,
on nous demande de créer une fonction qui retourne l'adresse de la dernière occurence de la chaine p dans la chaine s, NULL si p n'apparait pas dans s. char* strstr(char* s,char* p)
et void strndel(char* s,int n,int i) qui supprime n caracteres à partir de la position i
mon essaie mais ça marche pas !
on nous demande de créer une fonction qui retourne l'adresse de la dernière occurence de la chaine p dans la chaine s, NULL si p n'apparait pas dans s. char* strstr(char* s,char* p)
et void strndel(char* s,int n,int i) qui supprime n caracteres à partir de la position i
void strndel(char *s,int n, int i)
{
char *tmp ,*k,*q;
int len_s=strlen(s);
tmp=malloc(len_s +1 );
q=malloc(n+1);
k=s;
if(tmp)
{
strncpy(tmp,s,i);
k+=i+n ;
strcpy(tmp+i,k+i+n);
}
printf("la chaine apres la supression est %s ",s[i]);
}
mon essaie mais ça marche pas !
Configuration: Windows / Firefox 63.0
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Fonction qui retourne l'adresse
- Fonction si et - Guide
- Adresse mac - Guide
- Darkino nouvelle adresse - Guide
- Ecran retourne - Guide
- Changer adresse dns - Guide
1 réponse
Salut joujou98,
Pour
Réfléchis au problème avec une feuille et un crayon et une chaîne simple.
Par exemple
Dal
Pour
void strndel(char *s,int n, int i), tu n'as pas besoin de faire de
malloc()et surtout pas deux fois sans rien libérer, et il te suffit de faire un seul
strcpy()à mon sens.
Réfléchis au problème avec une feuille et un crayon et une chaîne simple.
Par exemple
'v','o','i','t','u','r','e','\0'que tu transformes en
'v','o','i','e','\0'...
Dal