StringToShortArray

Copie la chaîne par un symbole à l'endroit spécifié du tableau du type ushort ushort. La fonction retourne le nombre d'éléments copiés.

int  StringToShortArray(
   string  text_string,     // chaîne de caractères à copier
   ushort& array[],         // tableau
   int     start=0,         // position initiale dans le tableau
   int     count=-1         // nombre d'éléments
   );

Paramètres

text_string

[in] La chaîne de caractères à copier.

array[]

[out]  Le tableau du type ushort (analogue du type wchar_t).

start=0

[in] La position du début 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.    

Valeur de Retour

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

 

Exemple :

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- chaîne avec les caractères à convertir
   string text = "Chars: ❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣   ";
   ushort short_array[];
//--- trouve la position du caractère ":" dans la chaîne d'entrée et extrait la sous-chaîne en commençant par le caractère suivant
   int    pos=StringFind(text":");
   string str=(pos<0 ? text : StringSubstr(textpos+1));
//--- supprime les espaces, les retours à la ligne et les tabulations à gauche et à droite de la chaîne résultante
   StringTrimLeft(str);
   StringTrimRight(str);
//--- copie la chaîne résultante dans le tableau ushort et écrit le tableau résultant dans le journal
   int copied=StringToShortArray(strshort_array);
   PrintFormat("String of characters length: %u\n"
               "Number of characters copied (with terminal 0): %d\n"
               "Array of chars for the string '%s':",
               StringLen(str), copiedstr);
   ArrayPrint(short_array0" | ");
   /*
  résultat :
   String of characters length16
   Number of characters copied (with terminal 0): 17
   Array of chars for the string '❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣':
   10084 |  9835 |  9742 |  9992 | 10019 |  9743 |  9728 |  9993 |  9734 |  9729 |  9813 |  9824 |   174 | 10023 | 10054 |  9827 |     0
   */
  }

Voir aussi

ShortArrayToString, StringToCharArray, Utilisation de la page de code