StringToShortArray

Kopiert die Zeichenkette zeichenweise an den angegebenen Platz des Arrays vom Typ ushort. Funktion gibt die Anzahl der kopierten Elemente zurück.

int  StringToShortArray(
   string  text_string,     // Quelle der Zeichenkette
   ushort& array[],         // Array
   int     start=0,         // Anfangsposition im Array 
   int     count=-1         // Anzahl der Zeichen
   );

Parameter

text_string

[in]  Zeichenkette für Kopieren.

array[]

[out] Array des Typs ushort (Analog des Typs wchar_t).

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-Wet ist -1, was bedeutet Kopieren bis zum Arrayende oder bis zur terminalen 0. Die abschließende 0 wird auch in Array-Rezipient kopiert werden, dabei kann die Größe des dynamischen Arrays bis zur Länge der Zeichenkette steigen. Wenn die Größe des dynamischen Arrays mehr als die Zeichenkettenlänge ist, wird die Arraygröße nicht reduziert werden.  

Rückgabewert

Anzahl der kopierten Elemente.

 

Beispiel:

//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Zeichenkette der zu konvertierenden Zeichen
   string text = "Chars: ❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣   ";
   ushort short_array[];
//--- Suche nach der Position des Zeichens ":" in der Eingabezeichenkette und Extraktion der Teilzeichenkette ab dem nächsten Zeichen
   int    pos=StringFind(text":");
   string str=(pos<0 ? text : StringSubstr(textpos+1));
//--- Entfernen von Leerzeichen, Zeilenumbrüche und Tabulatorzeichen links und rechts von der resultierenden Zeichenkette
   StringTrimLeft(str);
   StringTrimRight(str);
//--- Kopieren der resultierenden Zeichenkette in das ushort-Array und Ausdrucken das resultierende Array in das Journal
   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" | ");
   /*
  Ergebnis:
   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
   */
  }

Siehe auch

ShortArrayToString, StringToCharArray, Verwenden von Codepages