traitement de chaines de caractères (débutant)

traitement de chaines de caractères (débutant) - C - Programmation

Marsh Posté le 24-02-2008 à 11:49:01    

Bonjour,
 
voilà j'aurais voulu savoir comment récupérer une chaîne de caractères à partir de deux autres.
 
Exemple :  

Code :
  1. /* char * chaine1 pointe sur "Une jolie phrase est bien écrite." */
  2. /* char * chaine2 pointe sur " jolie phrase est bien écrite." */
  3. /* char * chaine3 pointe sur NULL */
  4. /*
  5. Comment faire pour que chaine3 pointe sur "Une" ??
  6. */


 
merci pour votre aide.

Reply

Marsh Posté le 24-02-2008 à 11:49:01   

Reply

Marsh Posté le 24-02-2008 à 13:04:54    

abaddon2002 a écrit :


Code :
  1. /* char * chaine1 pointe sur "Une jolie phrase est bien écrite." */
  2. /* char * chaine2 pointe sur " jolie phrase est bien écrite." */
  3. /* char * chaine3 pointe sur NULL */
  4. /*
  5. Comment faire pour que chaine3 pointe sur "Une" ??
  6. */




Code :
  1. chaine3 = chaine1;


si c'est autre chose, essaye d'être plus précis...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 24-02-2008 à 14:22:06    

Bah si je fais ça, et que je parcours la chaine, il ne vas pas s'arrêter après une car juste après le e de une il y a un espace (0x20) et non un 0.
 
J'aimerai pouvoir récupérer juste le mot "Une" avec un pointeur sur cette chaine.

Reply

Marsh Posté le 24-02-2008 à 16:54:30    

Citation :

il ne vas pas s'arrêter

Qui est "il" ?
Si "il" est une fonction comme strlen(), strcmp() ou strcpy(), il faut effecitvement mettre un caractère null là ou l'on veut qu'"il" s'arrête. Donc, faire chaine1[3] = '\0';


Message édité par olivthill le 24-02-2008 à 16:56:04
Reply

Marsh Posté le 24-02-2008 à 17:48:50    

Oui en effet, je pensais à strlen() par exemple, mais si je mets un 0 à chaine1[3], je vais tronquer chaine1...
 
mais voici ce que je veux faire exactement :
 
Décomposer une chaine de caractères en un tableau de mots, où les séparateurs sont les espaces et les tabulations.

Reply

Marsh Posté le 24-02-2008 à 18:40:09    

abaddon2002 a écrit :

mais voici ce que je veux faire exactement :
 
Décomposer une chaine de caractères en un tableau de mots, où les séparateurs sont les espaces et les tabulations.


Si la chaine est modifiable (sinon faire une copie avec strdup()), strtok() (standard) ou strtok_r() (POSIX.1).


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 25-02-2008 à 07:18:18    

abaddon2002, ce serait quand même plus simple si tu postais le code qui te pose problème...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed