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!
Configuration: Windows XP
Internet Explorer 7.0

11 réponses

  1. 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
  2. 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
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  4. blackdam Messages postés 332 Statut Membre 35
     
    En C...désolé de pas avoir précisé!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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