StringToCharArray

Kopiert eine von Unicode nach Ansi konvertierte Zeichenkette Zeichen für Zeichen an die angegebene Stelle im Array vom Typ uchar. Funktion gibt die Anzahl der kopierten Elemente zurück.  

int  StringToCharArray(
   string  text_string,         // Quelle der Zeichenketten
   uchar&  array[],             // Array
   int     start=0,             // Anfangsposition im Array 
   int     count=-1             // Anzahl der Zeichen
   uint    codepage=CP_ACP      // Codeseite 
   );

Parameter

text_string

[in]  Zeichenkette für Kopieren.

array[]

[out]  Array des Typs uchar.

start=0

[in]  Position, bei der das Kopieren beginnt. Default-Wert ist  0.

count=-1

[in]  Anzahl der Arrayelemente für das Kopieren. Bestimmt die Länge der sich ergebenden Zeichenkette. Default-Wert ist -1, was bedeutet, dass bis zum Arrayende oder bis zur abschließenden 0 kopiert wurde. Die abschließende 0 wird auch in Array-Rezipient  kopiert werden, dabei wird gegebenenfalls die Größe des dynamischen Arrays bis zur Zeichenkettengröße vergrößert werden. Wenn die Größe des dynamischen Arrays höher als die Zeichenkettenlänge ist, wird die Arraygröße nicht reduziert werden.

codepage=CP_ACP

[in]  Wert der Codeseite. Für die gebräuchlichsten Codepages gibt es entsprechende Konstanten.

Rückgabewert

Anzahl der kopierten Elemente.

 

Beispiel:

//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- zu konvertierende Zeichenkette
   string text = "This is a test of the StringToCharArray() function";
 
//--- Konvertierung der Eingabezeichenfolge in ein uchar-Array gemäß der eingestellten Codepage
   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);
//--- Druck des resultierenden Arrays in das Journal
   ArrayPrint(char_array0" | ");
   /*
  Ergebnis:
   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
   */
  }

Siehe auch

CharArrayToString, StringToShortArray, Verwenden von Codepages