cs_floche
Messages postés16Date d'inscriptiondimanche 10 octobre 2004StatutMembreDernière intervention11 avril 2006
-
29 août 2005 à 14:04
cs_floche
Messages postés16Date d'inscriptiondimanche 10 octobre 2004StatutMembreDernière intervention11 avril 2006
-
29 août 2005 à 20:07
Bonjours à tous
Le titre est assez explicite...
Je voudrais pouvoir changer un caractere d une chaine si c'est un a mais ca ne marche pas.
amina_6a
Messages postés3Date d'inscriptionlundi 29 août 2005StatutMembreDernière intervention 2 septembre 2005 29 août 2005 à 16:26
salut ,
vous pouvez travailler avec les pointeurs, ça vous aidra de trouver ta chaine finale,
voici la modification que j ai fait sur votre prog.
int main()
{
char * fic, *pnt ; // j ai ajouter un pointeur "pnt"
printf("entrer une chaine");
gets(fic);
pnt = fic; //pnt porte la même adresse de votre chaine while(pnt!(strlen(fic)+fic+1) //tester si pnt à l' adresse de derniere caractere
{ if(*pnt 'a') *pnt 'b';
pnt++;
}
printf("%s", fic);
getch();
return 0;
}
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 29 août 2005 à 16:50
while(pnt!= (strlen(fic)+fic+1)
l'adresse de fin (le termainateur NULL) est à: fic + strlen(fic), SANS le + 1.
Ne pas mettre strlen() en boucle, sera recalculé à chaque tour. Avec pointeur, aucun besoin du tout, voir plus haut.
gets(fic); // fic oublie toujours de pointer sur un buffer.