StringToCharArray

Copia los caracteres de una cadena transformada de Unicode en ANSI en una parte indicada de un array del tipo uchar. La función devuelve el número de elementos copiados.

int  StringToCharArray(
   string  text_string,         // cadena de origen
   uchar&  array[],             // array
   int     start=0,             // posición de inicio en el array
   int     count=-1             // cantidad de símbolos
   uint    codepage=CP_ACP      // página de códigos
   );

Parámetros

text_string

[in]  Cadena para el copiado.

array[]

[out]  Array del tipo uchar.

start=0

[in]  Posición de donde se empieza a copiar. Por defecto es 0.

count=-1

[in]  Número de elementos del array para ser copiados. Determina la longitud de la cadena resultante. El valor por defecto es -1, esto significa el copiado hasta el final del array, o hasta el 0 de terminación. El 0 de terminación también va a ser copiado en el array de destino; en este caso, si hace falta, el tamaño del array dinámico puede ser aumentado hasta el tamaño de la cadena. Si el tamaño del array dinámico supera la longitud de la cadena, el tamaño del array no será reducido.

codepage=CP_ACP

[in]  Valor de la página de códigos. Para algunas páginas de códigos más usadas están previstas constantes correspondientes.

Valor devuelto

Número de elementos copiados.

 

Ejemplo:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- string to convert
   string text = "This is a test of the StringToCharArray() function";
 
//--- convertimos la cadena de entrada en un array uchar según la página de códigos instalada
   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 en el registro el array obtenido
   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
   */
  }

Véase también

CharArrayToString, StringToShortArray, Uso de página de código