Prototype
E_RTN EMemory::SpaceCat( ulonglong ullSpaceToCatSize,
uchar ucByteToFill );

Cette fonction concatène un espace de ullSpaceToCatSize octet(s) à la limite finale externe de l'espace de travail.

La taille de l'espace de travail augmente donc de la taille de l'espace à concaténer.

Les octets ajoutés sont nettoyés avec l'octet ucByteToFill.

 

Argument

ulonglong ullSpaceToCatSize

taille de l'espace à concaténer.

uchar ucByteToFill

octet à utiliser pour nettoyer l'espace concaténé.

 

Retour

E_RTN

voir la section retour de la librairie Eclat.

 

Exemple

Description :

Concatène un espace de 3 octets nettoyé de l'octet 0x58 ("X" en ASCII) dans un objet EMemory vièrge (eMem0) et dans un objet EMemory (eMem1) 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.SpaceCat( 3, 'X' );
eMem0.TraceEx( _T("eMem0") );

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

eMem1.TraceEx( _T("eMem1") );
eMem1.SpaceCat( 4, 'X' );
eMem1.TraceEx( _T("eMem1") );

Sortie :

### Object EMemory 'eMem0' Trace #
# Object address='0x0012F424', 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='0x0012F424', 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 58 58 .. .. .. .. .. .. .. .. .. .. .. .. .. [XXX]
### End #

### Object EMemory 'eMem1' Trace #
# Object address='0x0012F40C', 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='0x0012F40C', status='EMemory::ObjectStatus_Enable' (code '3').
# Buffer address='0x00000008', workspace size='7' byte(s).
# Array data from offset '0x00000000' to offset '0x00000006', length=7 byte(s).
# Offset start 0x00000000 41 42 43 58 58 58 58 .. .. .. .. .. .. .. .. .. [ABCXXXX]
### 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
58
X
58
X

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E ..
  00 01 02 00 01 02
  58
X
58
X
58
X
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 06
  58
X
58
X
58
X
41
A
42
B
43
C
58
X
58
X
58
X
58
X

 

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

 

Minimum
Version 1.0.0