j'aimerais comprendre le if !memcpy
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:
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);
}
} |