J'utilise le code suivant pour copier le contenu de la chaîne dans une autre chaîne. Deux logiques sont utilisées, Une avec boucle while (commentée) fonctionne et l'autre n'est pas (as = at).Erreur dans le programme exemple strcpy
S'il vous plaît aidez-moi à identifier la faille dans ce code.
Merci à l'avance
#include<stdio.h>
#include<conio.h>
main()
{
char *s="SourceString";
char *t="TargetString";
void print(char *s);
void strcopy(char *s,const char *t);
print(s);
strcopy(s,t);
print(s);
getch();
}
void strcopy(char *as,const char *at)
{
/*while((*as=*at)!='\0') // working
{
as++;
at++;
} */
as=at; //not working
}
void print(char *s)
{
printf("\n Printing the Contents:");
for(;*s!='\0';s++)
printf("%c",*s);
printf("\n END");
}
Tous disent que les chaînes sont passés par valeur et non par adresse. Mais je passe l'adresse des chaînes en appelant functiona nd dans la fonction appelée am using des pointeurs. S'il vous plaît préciser que je suis nouveau à des pointeurs
Oh, bon point. Et double bon point pour remarquer que la chaîne "TargetString" était celle qui était lue et "SourceString" celle à laquelle elle était écrite. –