Transformer une chaine de caracteres ... en C

16art -  
 16art -
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 ..

1 réponse

  1. Colt Siver
     
    Il faut que tu fasses un parcours de ton tableau, et ne pas prendre en compte les cellules vides.
    0
    1. 16art
       
      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