IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Fonction qui decoupe une chaine tous les n caracteres


Sujet :

C

  1. #1
    Membre habitué Avatar de mailbox
    Profil pro
    Inscrit en
    Février 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 140
    Points : 159
    Points
    159
    Par défaut Fonction qui decoupe une chaine tous les n caracteres
    Bonsoir,

    Si par exemple j'ai cette chaine "22RF46", j'aimerai la decouper tous les n caracteres.

    Une fonction que je pourrai appeler de cette facon dans mon main par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    decoupe_chaine(chaine, n);
    Je connais strtok mais il faut donner un separateur, sinon je peux recuperer les n premiers avec strncpy...mais je vois pas bien comment faire pour le reste de la chaine

  2. #2
    Membre actif Avatar de quetzacoatl
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 168
    Points : 223
    Points
    223
    Par défaut
    Ce que tu peux c'est effectivement utiliser strcnpy()
    Pour pouvoir découper ta chaine tu dois déclarer un pointeur intermédiaire et lui ajouter n à chaque appel de strcnpy:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int k;
    char* tmp=chaine;
    char* dest=calloc((n+1)*sizeof(char));
     
     
    for(k=1;k<=strlen(chaine)/n+1;k++)
    {
        strcnpy(dest,tmp,n);
        dest[n]=0;
        /*dest comporte alors la sous-chaîne voulue*/
        tmp+=n;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction qui recherche une chaine dans une autre chaine
    Par pierre2410 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/05/2007, 16h30
  2. fonction qui transforme une chaine en majuscule
    Par kawther dans le forum Langage
    Réponses: 3
    Dernier message: 23/04/2007, 11h47
  3. Réponses: 23
    Dernier message: 13/11/2006, 03h33
  4. Réponses: 15
    Dernier message: 26/03/2006, 12h10
  5. Réponses: 5
    Dernier message: 18/10/2005, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo