Vorheriges Thema

mem_pack

Nächstes Thema

mem_uncompress

Diese Seite

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-Name Beschreibung
“char” Ein Byte mit Vorzeichen (-127 bis 127).
“wchar_t” Ein UTF-16 Unicode-Zeichen (2 Bytes).
“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 Ergbenis nur ca. 52 Bits gültig.
“uint64” 64-bit unsigned Integer (8 Bytes). Da UniScript diesen Wert in einer double-Zahl speichert, sind im Ergbenis 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
5.0.0 Neuer Typ “wchar_t”.
4.2.0 Neu.

id-627506