Prototype
E_RTN EMemory::ByteCopy( uchar ucByteToCopy,
ulonglong ullOffset = 0 );

Cette fonction copie l'octet ucByteToCopy à l'offset ullOffset.

Il doit y avoir assez de place depuis l'offset jusqu'à la fin de l'espace de travail pour pouvoir stocker les données (soit un octet).

L'octet à copier n'est inséré mais il vient écraser le précédent s'y trouvant.

 

Argument

uchar ucByteToCopy

octet à copier.

ulonglong ullOffset = 0

offset où il faut copier l'octet.

 

Retour

E_RTN

voir la section retour de la librairie Eclat.

 

Exemple

Description :

Copie l'octet 0x41 ('A' en ASCII) à l'offset 1 d'un objet EMemory d'une taille de 4 octets rempli de l'octet 0x00.

Code :

Memory eMem( 4, 0x00 ); // objet EMemory alloué de 4 octets rempli de la valeur 0x00

eMem.TraceEx( _T("eMem") );
eMem.ByteCopy( 'A', 1 );
eMem.TraceEx( _T("eMem") );

Sortie :

### Object EMemory 'eMem' Trace #
# Object address='0x0012F458', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='4' byte(s).
# Array data from offset '0x00000000' to offset '0x00000003', length=4 byte(s).
# Offset start 0x00000000 00 00 00 00 .. .. .. .. .. .. .. .. .. .. .. .. ....
### End #

### Object EMemory 'eMem' Trace #
# Object address='0x0012F458', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='4' byte(s).
# Array data from offset '0x00000000' to offset '0x00000003', length=4 byte(s).
# Offset start 0x00000000 00 41 00 00 .. .. .. .. .. .. .. .. .. .. .. .. .A..
### End #

Vue :

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 03
  00 00 00 00

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 03
  00 41
A
00 00

 

Voir aussi
E_RTN EMemory::BlockCopy( void *pBlockToCopy, ulonglong ullBlockToCopySize, ulonglong ullOffset = 0 );
E_RTN EMemory::ByteCopyExact( uchar ucByteToCopy );
E_RTN EMemory::BlockCopyExact( void *pBlockToCopy, ulonglong ullBlockToCopySize );
E_RTN EMemory::BlockCopyTo( void *pBlockDest, ulonglong ullOffset = 0, ulonglong ullOffsetSize = EMemory::SizeUpToEnd );

 

Minimum
Version 1.0.0