cs_mast
Messages postés24Date d'inscriptiondimanche 17 juin 2001StatutMembreDernière intervention 3 octobre 2006
-
2 févr. 2006 à 04:39
KeniiyK
Messages postés326Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention 2 novembre 2007
-
2 févr. 2006 à 12:36
Bonsoir !
Je store une chaine de charactère dans un array[]="blah blah" et je voudrais savoir comment en effacer les espaces (ou tout autres caractères). La manière qui me semble la plus simple serait de faire un loop à travers chaque charactère de l'array array[0] à array[n] mais je ne sais pas comme trouver l'id de la dernière position de l'array ni comment effacer si c'est un espace, quelqu'un pourrait me donner un coup de main stp ?
KeniiyK
Messages postés326Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention 2 novembre 20072 2 févr. 2006 à 09:26
taille de la chaine : strlen(array) (ne compte pas le '\0'), donc pour "blah blah" strlen(...)=9.
int compteurEspace=0;
char *result;
char *resultIter;
// on compte le nombre d'espace por l'allocation de la nouvelle chaine
for(int i=0;i<strlen(array);i++)
{
if(array[i]==' ') compteurEspace++;
}
if(compteurEspace==0)
{
result=array;
// là c'est toi qui voit...
}
else
{
// +1 pour le '\0'
result=(char*)malloc(strlen(array)-compteurEspace+1);
resultIter=result;
for(int j=0;j<strlen(array);j++)
{
if(array[j]!=' ')
{
*resultIter=array[j];
resultIter++;
}
}
}
KeniiyK
Messages postés326Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention 2 novembre 20072 2 févr. 2006 à 12:36
Je suis d'accord mais je ne sais quel est l'utilisation de la chaine ensuite ou s'il ne faut pas toucher à la première, etc.... On ne sait pas si c'est du C ou CPP.
Bref, j'ai donné ce code vite fait pour lui trouvé une solution.
Maintenant à lui de prendre celle qui lui convient le mieux.