StringToShortArray

A função copia símbolo a símbolo uma string em um lugar especificado de um array de tipo ushort. Retorna o número de elementos copiados.

int  StringToShortArray(
   string  text_string,     // string fonte
   ushort& array[],         // array
   int     start=0,         // posição de começo no array
   int     count=-1         // número de símbolos
   );

Parâmetros

text_string

[in]  String para copiar

array[]

[out]  Array de tipo ushort (análogo ao tipo wchar_t).

start=0

[in]  Posição, a partir da qual a cópia começa. Default - 0.

count=-1

[in]  Número de elemento do array para copiar. Define o comprimento de uma string resultante. Valor padrão é -1, que significa copiar até o final do array, ou até o terminador 0. O terminador 0 será copiado para o array destino, neste caso o tamanho de um array dinâmico pode ser aumentado se necessário para o tamanho da string. Se o tamanho do array inicializado não é especificado, ele é determinado pelo compilador, baseado no tamanho da seqüência de inicialização.

Valor do Retorno

Número de elementos copiados.

 

Exemplo:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- string with chars to convert
   string text = "Chars: ❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣   ";
   ushort short_array[];
//--- na string de entrada encontramos a posição do caractere ":" e extraímos a substring a partir do próximo caractere
   int    pos=StringFind(text":");
   string str=(pos<0 ? text : StringSubstr(textpos+1));
//--- removemos -da esquerda e da direita da string resultante- os caracteres de retorno de carro, espaços e caracteres de tabulação
   StringTrimLeft(str);
   StringTrimRight(str);
//--- copiamos a string recebida em um array ushort e imprimimos o array recebido no log
   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" | ");
   /*
  resultado:
   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
   */
  }

Também Veja

ShortArrayToString, StringToCharArray, Uso de um Código de Página (Codepage)