StringToCharArray

Copia símbolo a símbolo uma string convertida de Unicode para ANSI, para um lugar selecionado de um array de tipo uchar. Retorna o número de elementos copiados.

int  StringToCharArray(
   string  text_string,         // string fonte
   uchar&  array[],             // array
   int     start=0,             // posição de começo no array
   int     count=-1             // número de símbolos
   uint    codepage=CP_ACP      // código de página
   );

Parâmetros

text_string

[in]  String para copiar.

array[]

[out]  Array de tipo uchar.

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 fim do array, ou até o terminador 0. Terminador 0 será também 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.

codepage=CP_ACP

[in]  O valor do código de página. Para os mais usados códigos de página forneça as constantes apropriadas.

Valor do Retorno

Número de elementos copiados.

 

Exemplo:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- string to convert
   string text = "This is a test of the StringToCharArray() function";
 
//--- convertemos a string de entrada em um array uchar de acordo com o conjunto de caracteres definido
   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);
//--- imprimimos no log o array resultante
   ArrayPrint(char_array0" | ");
   /*
  resultado:
   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
   */
  }

Também Veja

CharArrayToString, StringToShortArray, Uso de um Código de Página (Codepage)