StringToShortArray

La funzione copia dal punto di vista dei simboli una stringa in un posto specificato di un array di tipo ushort. Restituisce il numero di elementi copiati.

int  StringToShortArray(
   string  text_string,     // stringa sorgente
   ushort& array[],         // array
   int     start=0,         // posizione iniziale nell'array
   int     count=-1         // numero di simboli
   );

Parametri

text_string

[in] Stringa da copiare

array[]

[out]  Array of ushort type (analog of wchar_t type).

start=0

[in] Posizione, da cui ha inizio la copia. Default - 0.

count=-1

[in] Numero di elementi dell' array da copiare. Definisce lunghezza di una stringa risultante. Il valore predefinito è -1, che significa copiare fino alla fine dell' array o sino terminale 0. Terminal 0 sarà anche copiato nell'array destinazione, in questo caso la grandezza dell' array dinamico può essere aumentata se necessario alla grandezza della stringa. Se la grandezza dell' array dinamico supera la lunghezza della stringa, la dimensione dell' array non sarà ridotta.

Valore restituito

Numero di elementi copiati.

 

Esempio:

//+--------------------------------------------------------------------------------+
//| Script program start function                                                  |
//+--------------------------------------------------------------------------------+
void OnStart()
  {
//--- stringa con caratteri da convertire
   string text = "Chars: ❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣   ";
   ushort short_array[];
//--- trova la posizione del carattere ":" nella stringa di input ed estrae la sottostringa a partire dal carattere successivo
   int    pos=StringFind(text":");
   string str=(pos<0 ? text : StringSubstr(textpos+1));
//--- rimuovere gli spazi, il ritorno a capo e i caratteri di tabulazione da sinistra e destra della stringa risultante
   StringTrimLeft(str);
   StringTrimRight(str);
//--- copia la stringa risultante nell'array ushort e stampa l'array risultante nel 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" | ");
   /*
  risultato:
   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
   */
  }

Vedi anche

ShortArrayToString, StringToCharArray, L'uso di una tabella Codici