[C]recupérer des caractères dans une chaine

recupérer des caractères dans une chaine [C] - C - Programmation

Marsh Posté le 13-04-2004 à 12:38:08    

Bonjour,
 
Imaginons une chaine de caractere par exemple "bonjour"
J'aurais voulu savoir quelle fonction me permettrai de récupérer uniquement certains caracteres par exemple les 4 derniers "jour"
Merci de vos reponses

Reply

Marsh Posté le 13-04-2004 à 12:38:08   

Reply

Marsh Posté le 13-04-2004 à 12:46:17    

l'opérateur +
 

Code :
  1. const char *s = "Bonjour";
  2. puts(s);
  3. puts(s+3);


Message édité par Taz le 13-04-2004 à 12:46:30
Reply

Marsh Posté le 13-04-2004 à 12:51:53    

On peut faire ça en C ??
J'aurai appris qqchose aujourd'hui ;)

Reply

Marsh Posté le 13-04-2004 à 12:53:34    

Merci jevais essayer ca en esperant que ca fonctionne

Reply

Marsh Posté le 13-04-2004 à 14:04:09    

Cricri_ a écrit :

On peut faire ça en C ??
J'aurai appris qqchose aujourd'hui ;)

ben tu ferais bien de te pencher. parce que là, t'as sauté tout le chapitre des pointeurs, t'es déjà mort.

Reply

Marsh Posté le 13-04-2004 à 14:10:34    

Oups !!!  
Autant pour moi, je ne devais pas être réveillé ...
Me suis mélangé les pinceaux j'ai cru qu'il s'agissait de concaténation de chaine avec l'opérateur + ...

Reply

Marsh Posté le 14-04-2004 à 12:14:47    

Mais que de questions :)

Reply

Marsh Posté le 14-04-2004 à 13:45:39    

ce que tu ma donner comme code c'est un affichage de caractere desiré.
Moi ce que je ve c'est en fait récuperer une chaine pour pouvoir l'introduire dans une autre chaine.
Exemple : j'ai une chaine A "0000000120"
je ve recupérer un element de cette chaine "0120" pour l'introduire dans une autre chaine B.
Comment dois je faire svp ?
Merci

Reply

Marsh Posté le 14-04-2004 à 13:50:46    

essaie:

Code :
  1. char *szSrc = "0000000120";
  2. strncpy( szDest, szSrc + 7, 4);


Je pense que c'est ça que tu cherches à faire

Reply

Marsh Posté le 14-04-2004 à 14:07:39    

Ou si chaineA est de longueur variable, récupérer les 4 derniers caractères :

Code :
  1. char chaineB[20];
  2.     char *chaineA = "0000000120";
  3.     strcpy( chaineB, chaineA+strlen(chaineA)-4 );
  4.     printf( "fin=%s\n", chaineB );


Reply

Marsh Posté le 14-04-2004 à 14:07:39   

Reply

Marsh Posté le 14-04-2004 à 15:58:03    

pareil avec un strnccpy ou peut peut etre avec un sprintf

Reply

Marsh Posté le 14-04-2004 à 16:17:33    

Kabuto a écrit :

pareil avec un strnccpy ou peut peut etre avec un sprintf


 
Le problème avec le sprintf c'est qu'on ne peut récupérer que la fin d'une chaine, si on veut récupérer un morceau au milieu de la chaine je pense que le plus efficace c'est le strncpy.
 

Reply

Marsh Posté le 14-04-2004 à 16:54:33    

oui mais la,c est ce qu'Alaix demandait pour son exemple

Reply

Marsh Posté le 14-04-2004 à 16:58:46    

Kabuto a écrit :

oui mais la,c est ce qu'Alaix demandait pour son exemple


oups  :whistle: j'avais oublié
Alors un sprintf fera effectivement très bien l'affaire

Reply

Marsh Posté le 14-04-2004 à 17:00:35    

C'est rien  :hello:  ;)

Reply

Marsh Posté le 14-04-2004 à 17:07:54    

merci kabuto !!!

Reply

Marsh Posté le 14-04-2004 à 17:16:17    

De rien Rat mulot, sinon petit pourrissage de topic comment se passe ton stage ?

Reply

Marsh Posté le 14-04-2004 à 17:25:43    

bien j'ai presque terminé mais bon on ma deja demande autre chose
Et l'ITII ne veulent pas de moi ni g-mil
voili voila a+

Reply

Marsh Posté le 23-04-2004 à 11:22:04    

normal tu crois qu'il vont prendre de gay comme vous  
c'était marquer pourtant sur la brochure
" .. ici les fouinnes et les rats ne sont pas acceptés ..."
et même les chêvres et les castor ...
vu ce que on a fait hier on va avoir du mal ...
a+


Message édité par aurbadguy le 26-04-2004 à 15:10:54
Reply

Sujets relatifs:

Leave a Replay

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