PDA

View Full Version : Ganzes Array mit %char umwandeln



dschroeder
12-12-17, 09:55
Hallo,
weiß jemand, ob folgendes sicher funktioniert:


dcl-s arrUnicode ucs2(100) dim (10);
dcl-s arrChar char(200) dim(10);
...
arrChar = %char(arrUnicode);


Ich bin mir nicht sicher, ob das klappt und würde lieber eine Schleife programmieren. Spätestens, wenn die Arrays varying sind, müsste es doch sonst Probleme geben, oder? Dann sind doch zwischen den einzelnen Array-Elementen die 2-byte length prefixes, oder?

Oder ist %char so intelligent, dass es komplette Arrays verarbeiten kann? Der Compiler nimmt es so an.

Dieter

BenderD
12-12-17, 11:33
... der Compiler ist dumm genug arrays als binary Variable, was für ihn dasselbe wie char ist, zu verarbeiten (sieht man in der Umwandlungsliste) - bei varying für die Komponenten geht das dann schief.

D*B

dschroeder
12-12-17, 11:35
Vielen Dank für die Antwort. Das bestätigt meine Vermutung. Wir machen also eine Schleife.