le code ci-joint supprime de la chaine ligne la chaine w1.
ma question est à quoi sert le test : if(!memcpy(s+i,w1,strlen(w1))) et merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <string.h>

void supp_seq(char *s,char *w1){
    int n1 = strlen(w1);
    for(int i=0;i<=strlen(s)-1;i++)
        if(!memcpy(s+i,w1,strlen(w1)))
           strncpy(s+i,s+i,strlen(w1));
}

void main(){

char ligne[200],w1[20];int i,n;
printf("donner le nbre de ligne du text : ");
scanf("%d",&n);
printf("donner le mot à supprimer : ");
gets(w1);

for(i=0;i<n;i++){
    gets(ligne);
    supp_seq(ligne,w1);
    puts(ligne);
}
}