StringToCharArray

Copie et convertit un chaîne de caractères unicode vers ansi à l'endroit spécifié du tableau du type uchar. La fonction retourne le nombre d'éléments copiés.

int  StringToCharArray(
   string  text_string,         // chaîne-source
   uchar&  array[],             // tableau
   int     start=0,             // position de départ dans le tableau 
   int     count=-1             // nombre de caractères
   uint    codepage=CP_ACP      // page de code
   );

Paramètres

text_string

[in]  La chaîne à copier.

array[]

[out]  Le tableau du type uchar.

start=0

[in]   La position de départ de la copie. La valeur par défaut est  0.

count=-1

[in]  Le nombre d'éléments du tableau à copier. Définit la longueur de la chaîne du résultat. La valeur par défaut est -1, ce qui signifie la copie jusqu'à la fin du tableau ou jusqu'au 0 terminal. Le 0 terminal sera aussi copié dans le tableau. Dans ce cas, la taille du tableau dynamique peut être augmentée en cas de nécessité pour correspondre à la taille de la chaîne de caractères. Si le tableau est plus grand que la longueur de la chaîne de caractères, la taille du tableau n'est pas diminuée.

codepage=CP_ACP

[in]  La valeur de la page de code. Pour les pages de code les plus utilisés, les constantes correspondantes sont prévues.

Valeur de Retour

Le nombre d'éléments copiés.

 

Exemple :

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---chaîne à convertir
   string text = "This is a test of the StringToCharArray() function";
 
//--- convertit la chaîne d'entrée en un tableau uchar conformément à la page de codes définie
   uchar char_array[];
   int   copied=StringToCharArray(textchar_array);
   PrintFormat("String length: %u\nNumber of characters copied (with terminal 0): %d\nArray of characters for the string '%s':",
               StringLen(text), copiedtext);
//--- écrit le tableau résultat dans le journal
   ArrayPrint(char_array0" | ");
   /*
  résultat :
   String length50
   Number of characters copied (with terminal 0): 51
   Array of characters for the string 'This is a test of the StringToCharArray() function':
   [ 0]  84 | 104 | 105 | 115 |  32 | 105 | 115 |  32 |  97 |  32 | 116 | 101 | 115 | 116 |  32 | 111 | 102
   [17]  32 | 116 | 104 | 101 |  32 |  83 | 116 | 114 | 105 | 110 | 103 |  84 | 111 |  67 | 104 |  97 | 114
   [34]  65 | 114 | 114 |  97 | 121 |  40 |  41 |  32 | 102 | 117 | 110 |  99 | 116 | 105 | 111 | 110 |   0
   */
  }

Voir aussi

CharArrayToString, StringToShortArray, Utilisation de la page de code