Découper un caractère

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

  • Votes
  • Date
  • Date décroissante
  1. Comme je te l'ai dit sur l'autre post, tu concatènes et c'est bon....

    strcat la commande...
    1. Euh, concaténer ne veux pas dire "rassembler"?"réunir"??
      moi je veux justement les désassembler!...
      je ne te comprend pas trop là!
      1. Modérateur
        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
        1. 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.
          1. 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!
            1. 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]);
              }
              1. 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!
                1. 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
                  1. 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,',');
                    }
                    
                    1. 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.