StringToShortArray

Copia una cadena símbolo por símbolo en una parte indicada de un array del tipo ushort. La función devuelve el número de elementos copiados.

int  StringToShortArray(
   string  text_string,     // cadena de origen
   ushort& array[],         // array
   int     start=0,         // posición de inicio en el array
   int     count=-1         // cantidad de símbolos
   );

Parámetros

text_string

[in]  Cadena para el copiado.

array[]

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

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.

Valor devuelto

Número de elementos copiados.

 

Ejemplo:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- string with chars to convert
   string text = "Chars: ❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣   ";
   ushort short_array[];
//--- buscamos la posición del carácter ":" en la cadena de entrada y extraemos la subcadena comenzando desde el siguiente carácter
   int    pos=StringFind(text":");
   string str=(pos<0 ? text : StringSubstr(textpos+1));
//--- eliminamos de la cadena resultante los retornos de carro, los espacios y los caracteres de tabulación de la izquierda y la derecha
   StringTrimLeft(str);
   StringTrimRight(str);
//--- copiamos la cadena resultante en un array ushort e imprimimos el array resultante en el registro
   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
   */
  }

Véase también

ShortArrayToString, StringToCharArray, Uso de página de código