Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2568 connectés 

  FORUM HardWare.fr
  Programmation
  C

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1691466
abaddon200​2
Posté le 24-02-2008 à 11:49:01  profilanswer
 

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.

mood
Publicité
Posté le 24-02-2008 à 11:49:01  profilanswer
 

n°1691483
Emmanuel D​elahaye
C is a sharp tool
Posté le 24-02-2008 à 13:04:54  profilanswer
 

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/
n°1691503
abaddon200​2
Posté le 24-02-2008 à 14:22:06  profilanswer
 

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.

n°1691543
olivthill
Posté le 24-02-2008 à 16:54:30  profilanswer
 

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
n°1691560
abaddon200​2
Posté le 24-02-2008 à 17:48:50  profilanswer
 

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.

n°1691585
Emmanuel D​elahaye
C is a sharp tool
Posté le 24-02-2008 à 18:40:09  profilanswer
 

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/
n°1691710
Elmoricq
Modérateur
Posté le 25-02-2008 à 07:18:18  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

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

 

Sujets relatifs
[Debutant] Les mystères des LayoutManagersregex : supprimer les caractères répetés
débutant, design et encapsulation ?Garder les 2 premiers caractères d'un champ
Mysql + phpMyAdmin + caractères chinoisConcaténation de chaînes, problème avec langues sens d'écriture ≠
concatener des chaines[JS] Matcher des caractères Unicode via une regexp
[SGBD Access 2007 pro] Comment exécuter une requête en SQL (débutant)Problème d'utilisation d'une tortue ( debutant )
Plus de sujets relatifs à : traitement de chaines de caractères (débutant)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR