int lrcpy(LLIST**,LLIST **)
int lwrcpy(LLIST**,LLIST **,int
(*fct)(LLIST **,LLIST **,void *))
|
R1
lrcpy( P1, P2 ) |
|
R1
lwrcpy( P1, P2 , P3
( P4,P5,P6
) ) |
Ajoute tous les éléments de la liste P1
à la liste P2. Si
la liste P2 contient
des éléments ils seront perdus !!
A la sortie de la fonction P1
= P2 en nombre d'éléments!. On
aura en mémoire 2 fois les mêmes éléments.
La fonction lwrcpy 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
lwrcpy) 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.
- lrcpy et lwrcpt ne changent pas la position du curseur.
Garantie:
- lrcpy : La recopie de la liste
P1
dans la liste P2.
- lwrcpy : La recopie de tout
ou une partie de la liste P1
dans P2.
Voir aussi :
exemple 000