Prototype
E_RTN EMemory::BlockCat( void *pBlockToCat,
ulonglong ullBlockToCatSize );

Cette fonction concatène le bloc d'octets pBlockToCat à la limite finale externe de l'espace de travail.

La taille de l'espace de travail augmente donc de la taille du bloc d'octets à concaténer.

 

Argument

void *pBlockToCat

adresse du bloc d'octets à concaténer.

ulonglong ullBlockToCatSize

taille du bloc d'octets à concaténer.

 

Retour

E_RTN

voir la section retour de la librairie Eclat.

 

Exemple

Description :

Concatène le bloc d'octets 0x58, 0x59 et 0x5A ("XYZ" en ASCII) dans un objet EMemory vièrge et dans un objet EMemory d'une taille de 3 octets contenant les données 0x41, 0x42 et 0x43 ("ABC" en ASCII).

Code :

EMemory eMem0; // objet EMemory vièrge

eMem0.TraceEx( _T("eMem0") );
eMem0.BlockCat( "XYZ", 3 );
eMem0.TraceEx( _T("eMem0") );

EMemory eMem1( "ABC", 3 ); //- objet EMemory alloué de 3 octets

eMem1.TraceEx( _T("eMem1") );
eMem1.BlockCat( "XYZ", 3 );
eMem1.TraceEx( _T("eMem1") );

Sortie :

### Object EMemory 'eMem0' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Free' (code '1').
# Buffer address='0x00000000', workspace size='0' byte(s).
# No data to show from offset '0x00000000' to offset '0x00000000', length=0 byte(s).
### End #

### Object EMemory 'eMem0' Trace #
# Object address='0x0012F468', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000004', workspace size='3' byte(s).
# Array data from offset '0x00000000' to offset '0x00000002', length=3 byte(s).
# Offset start 0x00000000 58 59 5A .. .. .. .. .. .. .. .. .. .. .. .. .. [XYZ]
### End #

### Object EMemory 'eMem1' Trace #
# Object address='0x0012F450', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000008', workspace size='3' byte(s).
# Array data from offset '0x00000000' to offset '0x00000002', length=3 byte(s).
# Offset start 0x00000000 41 42 43 .. .. .. .. .. .. .. .. .. .. .. .. .. [ABC]
### End #

### Object EMemory 'eMem1' Trace #
# Object address='0x0012F450', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000008', workspace size='6' byte(s).
# Array data from offset '0x00000000' to offset '0x00000005', length=6 byte(s).
# Offset start 0x00000000 41 42 43 58 59 5A .. .. .. .. .. .. .. .. .. .. [ABCXYZ]
### End #

Vue :

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

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02
  58
X
59
Y
5A
Z

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 00 01 02
  58
X
59
Y
5A
Z
41
A
42
B
43
C

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 00 01 02 03 04 05
  58
X
59
Y
5A
Z
41
A
42
B
43
C
58
X
59
Y
5A
Z

 

Voir aussi
E_RTN EMemory::SpaceCat( ulonglong ullSpaceToCatSize );
E_RTN EMemory::SpaceCat( ulonglong ullSpaceToCatSize, uchar ucByteToFill );
E_RTN EMemory::SpaceCat( ulonglong ullSpaceToCatSize, void *pBlockToFill, ulonglong ullBlockToFillSize );
E_RTN EMemory::ByteCat( uchar ucByteToCat );

 

Minimum
Version 1.0.0