int lrcat(LLIST**,LLIST **)
int lwrcat(LLIST**,LLIST **,int
(*fct)(LLIST **,LLIST **,void *))
|
R1
lrcat( P1, P2 ) |
|
R1
lwrcat( P1, P2 , P3
( P4,P5,P6
) ) |
Concatène tous les éléments de la liste P1
à la suite de la liste P2.
La fonction lwrcat rajoute chaque
élément de la liste P1 dans P2
que si la fonction P3 retourne LOK.
Dans ce cas c'est le programmeur qui fait la fonction de filtre pour la recopie.
- En entrée :
- P1 : Adresse d'un pointeur de liste.
- P2 : Adresse de l'élément.
- P3: (Pour
lwrcat) Adresse de la fonction.
- P4:
Adresse de la liste P1.
- P5:
Adresse de la liste P2.
- P6:
Elément de la liste P1 à
tester.
- En sortie :
(Voir
codes retour)
- R1 :> 0 retourne le nombre d'élément
qui ont été ajouté à la liste P2
= lgrl(P1).
- R1 :L_IDT
P1 et P2
, on ne peut pas se recopier sur soit même !!.
- R1 :LNOK la taille des éléments
(des listes P1 et P2)
est différente.( Voir P2
dans initlist et/ou Getlendata
)
- Remarque :
- Si la liste P2 possède
un clés active ( lkey ) les éléments seront rajoutés
triés. Sinon il seront dans le même ordre que dans la liste P1.
- lrcat et lwrcat ne changent pas la position du curseur.
Garantie:
- lrcpy : Concatène la
liste P1
à la liste P2.
- lwrcpy : Concatène tout
ou une partie de la liste P1
à la liste P2.
Voir aussi :
exemple 000
lrcpy(LLIST **,LLIST **)