.. highlightlang:: us .. index:: mem_set .. _mem_set: mem_set ======= .. us.tag mem_set GERMAN mem New420 Changed500 Changed5404 :ref:`mem_set` setzt die Bytes in einem String auf Werte eines bestimmten Datentyps. .. function:: bool = mem_set(ssString, pos, values, ssType) .. us.return **Returnwert** *bool* ist TRUE (1), wenn die Funktion erfolgreich war und sonst FALSE (1). .. us.params **Parameter** .. uparam:: ssString *ssString* ist ein String mit ausreichend Platz um ``len(values)`` des Typs *ssType* aufzunehmen. .. uparam:: pos *pos* ist die Position im String (>= 1). .. uparam:: values *values* sind die Werte, die in den String geschrieben werden sollen. .. uparam:: ssType *ssType* ist der Datentyp. Folgende Werte sind möglich: .. list-table:: :header-rows: 1 * - Typ - Description * - "int8" or "char" - Ein Byte mit Vorzeichen (-127 bis 127). *values* kann ein Zahlenvektor oder ein String sein. * - "wchar_t" - Ein UTF-16 Unicode-Zeichen (2 Bytes). *values* kann ein Zahlenvektor oder ein String sein. * - "uint8" or "uchar" - Ein Byte ohne Vorzeichen (0 bis 255). * - "int16" - 16-bit Integer (2 Bytes). * - "uint16" - 16-bit vorzeichenloser (unsigned) Integer (2 Bytes). * - "int32" - 32-bit Integer (4 Bytes). * - "uint32" - 32-bit unsigned Integer (4 Bytes). * - "int64" - 64-bit Integer (8 Bytes). Da UniScript diesen Wert in einer double-Zahl speichert, sind im Ergebnis nur ca. 52 Bits gültig. * - "uint64" - 64-bit unsigned Integer (8 Bytes). Da UniScript diesen Wert in einer double-Zahl speichert, sind im Ergebnis nur ca. 52 Bits gültig. * - "float" - 32-bit Real-Zahl (4 Bytes). * - "double" - 64-bit Real-Zahl (8 Bytes). .. us.example **Beispiel** :: // 40 Bytes langen String erzeugen. v = mem_alloc(40); // 10 Integer-Zahlen (1 .. 10) rein schreiben. mem_set(v, 1, 1:10, "int32"); // Die zehn Zahlen wieder lesen res = mem_get(v, 1, "int32", 10); Unicode-String einfügen: :: // 10 Bytes langen String erzeugen mit Platz für 5 Unicode-UTF-16 Zeichen. s = mem_alloc(10); mem_set(s, 1, "hello", "wchar_t"); print s; // Gibt "hello" aus .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - R2012.4 - "int8" und "uint8". * - 5.0.0 - Neuer Typ "wchar_t". * - 4.2.0 - Neu. .. seealso:: :ref:`uberblick-strings`, :ref:`mem_alloc`, :ref:`mem_get`, :ref:`mem_len` :sub:`id-627506`