Découper un caractère

blackdam Messages postés 332 Statut Membre -  
Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   -
Me revoila! avec un nouveau problème sous la main!
J'ai une chaine de caractère que je voudrais découper.
En fait, j'ai ceci :
4000000113
Et je voudrais faire en sorte que dans une variable, j'ai le 400, dans une autre j'ai le 00113.
Alors comment séparer des chiffres (ou plus généralement des caractères)??
Merci de vos réponses, et merci aussi à ceux qui m'ont répondu auparavant!
A voir également:

11 réponses

Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
 
Comme je te l'ai dit sur l'autre post, tu concatènes et c'est bon....

strcat la commande...
0
blackdam Messages postés 332 Statut Membre 35
 
Euh, concaténer ne veux pas dire "rassembler"?"réunir"??
moi je veux justement les désassembler!...
je ne te comprend pas trop là!
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

dans quel langage?

voici en perl
echo 4000000113 | perl -ne '($v1,$v2) = $_=~ /^(\d\d\d).*(\d{5})$/; print "v1 = $v1 et v2=$v2\n"'
--
lami20j
0
blackdam Messages postés 332 Statut Membre 35
 
En C...désolé de pas avoir précisé!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
 
Ah mince autant pour moi dsl !!!!!

Pour faire l'inverse tu peux faire une boucle for qui prend caractère par caractère et le met dans une autre chaine. En pratique tu considères ta chaine comme un tableau et tu copies les 3 premieres cases dans une autre chaine.
0
blackdam Messages postés 332 Statut Membre 35
 
Ben oui, mais comment faire pour parcourir la chaine de caractère caractère par caractère??c'est sa mon problème?
Si je savais faire sa, bien sur ensuite je stocke les caractères qui m'interresent dans un tableau pour les réutiliser après!
0
andejen Messages postés 148 Statut Membre 22
 
pas testé mais dans ton cas particulier ca doit donner un truc du type:

char tab[10]='4000000113 ';
char debut[3];
char fin[7];
for(i=0; i<3, i++)
{
strctat(debut,tab[i]);
}
for(i=3; i<10, i++)
{
strctat(fin,tab[i]);
}
0
blackdam Messages postés 332 Statut Membre 35
 
Bon, je vais etre le plus précis possible.
J'aurais besoin d'un code qui me permette de faire sa:
chaine de caractère : 123456 (attention ce n'est pas un nombre mais bien une chaine de caractère!!)
ce que je veux afficher : 1,2,3,4,5,6 (les avoir séparer quoi!)
Je pense que sa doit etre possible quand meme
Merci!
0
Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

En C, une chaine de caractères n'est rien d'autre qu'un tableau de caractères. Parcours la chaine comme tu le ferais pour un tableau, et ce sera bon !

Xavier
0
andejen Messages postés 148 Statut Membre 22
 
dans ce nouveau cas
char chaine_debut[17]='lachainequetuveux '; 
char chaine_finale[33];
for(int i=0; i<17; i++)
{
strctat(chaine_finale, chaine_debut[i];
strcat(chaine_finale,',');
}
0
Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
 
Ben oui ta chaine c'est un tableau à la base.

si tu as "123456" dans ta chaine tu fais une boucle for

for(i=0;i<6;i++)
{
//Fais ton boulot sur chaine[i]
}

Si ensuite tu comptes travailler sur les 3 premiers chiffres, tu fais ton for sur les 3 premiers et tu concatènes.
0