StringToCharArray

Copia dal punto di vista dei simboli una stringa convertita da Unicode ad ANSI, in un posto selezionato di un array di tipo uchar. Restituisce il numero di elementi copiati.

int  StringToCharArray(
   string  text_string,         // stringa sorgente
   uchar&  array[],             // array
   int     start=0,             // posizione iniziale nell'array
   int     count=-1             // numero di simboli
   uint    codepage=CP_ACP      // codice pagina
   );

Parametri

text_string

[in]  Stringa da copiare .

array[]

[out]  Array di tipo uchar.

start=0

[in] Posizione da cui si avvia la copia. Default - 0.

count=-1

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

codepage=CP_ACP

[in]  Il valore del codice pagina. Per i codici pagina più usati, provvedere appropriate costanti.

Valore restituito

Numero di elementi copiati.

 

Esempio:

//+--------------------------------------------------------------------------------+
//| Script program start function                                                  |
//+--------------------------------------------------------------------------------+
void OnStart()
  {
//--- stringa da convertire
   string text = "This is a test of the StringToCharArray() function";
 
//--- convertire la stringa di input in un array uchar in base al codice pagina impostato
   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);
//-- stampa l'array risultante nel journal
   ArrayPrint(char_array0" | ");
   /*
  risultato:
   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
   */
  }

Vedi anche

CharArrayToString, StringToShortArray, L'uso di una tabella Codici