Langage c

xaviermfx Messages postés 2 Statut Membre -  
chuka Messages postés 980 Statut Membre -
salut les bao, je voudrai une fonction qui permet de découper une chaîne de caractères en n chaîne de caractères de même tailles... svp j'ai besoin de votre aide et merci d'avance

1 réponse

  1. chuka Messages postés 980 Statut Membre 379
     
    Salut,
    si tu veux ne pas les stocker...tu peux faire un truc du style...
    void decoupe(unsigned char nbr,char*chain)
    {
        unsigned char lenght=strlen(chain);
        char* fin=chain+lenght;
        while(chain<fin)
        {
            if (chain+nbr<fin)
            {
                printf("%.*s\n",nbr,chain);
                chain+=nbr;
    
            }
            else
            {
                printf("%.*s\n",fin-chain,chain);
                chain=fin;
            }
        }
    }
    

    si faut les stocker..ben tu peux utiliser les listes chainées....
    typedef struct listeChaine
    {
        char*chaine;
        struct listeChaine*suivant;
    }liste;
    liste* decoupage(unsigned char nbr,char*chain)
    {
        unsigned char lenght=strlen(chain);
        char* fin=chain+lenght;
        liste* l=(liste*)malloc(sizeof(liste));
        liste *li=l;
        while(chain<fin)
        {
            char*ch=(char*)malloc(sizeof(char)*nbr);
            memset(ch,0,sizeof(ch));
    
            if (chain+nbr<fin)
            {
                memcpy(ch,chain,nbr);
                chain+=nbr;
    
            }
            else
            {
                memcpy(ch,chain,fin-chain);
                chain=fin;
            }
            l->chaine=ch;
            liste* newL=(liste*)malloc(sizeof(liste));
            newL->suivant=NULL;
            l->suivant=newL;
            l=l->suivant;
    
        }
        return li;
    }
    

    @+
    0