Transformer une chaine de caracteres ... en C

Fermé
16art - 23 janv. 2002 à 15:18
 16art - 23 janv. 2002 à 15:55
Voilà, supposons que j'ai ce tableau :

mot[40] = {'B','o','n','j','o','u','r',' ',' ',' ',' ',' ','\0'}

si je fais :

longueur = strlen(mot);

j'obtiendrais longueur = 12 , n'est ce pas ...
Mais moi je veux enlever les espaces à la fin du mot ..

je veux le couper et ne garder que les valeurs du tableau où il y a des lettres ...

je veux transformer donc mot[40] = {'B','o','n','j','o','u','r',' ',' ',' ',' ',' ','\0'} en mot[40] = {'B','o','n','j','o','u','r','\0'}

Comment faire ?

merci ..
A voir également:

1 réponse

Il faut que tu fasses un parcours de ton tableau, et ne pas prendre en compte les cellules vides.
0
Ca doit donc le faire en faisant une boucle du genre ...

char mot_avec_espace[40], mot[40];

for(i=0;i<40;i++)
{
if (mot_avec_espace[i] != ' ') //espace entre les deux ' '
{
mot[i] = mot_avec_espace[i]
}
else mot[i] = 0; // c a dire rien ?

ou bien

while (mot_avec_espace != ' ') //espace entre les ' '
{
mot[i]=mot_avec_espace[i]
}


C'est bon ça .. où je me prends la tête pour rien ?
0