mem_set¶
mem_set setzt die Bytes in einem String auf Werte eines bestimmten Datentyps.
- bool = mem_set(ssString, pos, values, ssType)
Returnwert
bool ist TRUE (1), wenn die Funktion erfolgreich war und sonst FALSE (1).
Parameter
- ssString
ssString ist ein String mit ausreichend Platz um
len(values)
des Typs ssType aufzunehmen.
- pos
pos ist die Position im String (>= 1).
- values
values sind die Werte, die in den String geschrieben werden sollen.
- ssType
ssType ist der Datentyp. Folgende Werte sind möglich:
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).
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
History
Version |
Beschreibung |
---|---|
R2012.4 |
„int8“ und „uint8“. |
5.0.0 |
Neuer Typ „wchar_t“. |
4.2.0 |
Neu. |
Siehe auch
id-627506