Fonction qui retourne l'adresse
joujou98
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
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
- Darkino nouvelle adresse - Guide
- Fonction si et - Guide
- Adresse mac - 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