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