RosettaCodeData/Task/Copy-a-string/XPL0/copy-a-string.xpl0

14 lines
458 B
Plaintext

proc StrCopy(A, B); \Copy string: A --> B
char A, B; \Strings: B must already have enough space "Reserved"
int I; \Beware if strings overlap
for I:= 0 to -1>>1-1 do
[B(I):= A(I);
if A(I) >= $80 then return
];
char S1, S2, S3(13);
[S1:= "Hello, world!"; \S1 now points to the string
S2:= S1; \S2 now also points to the string
StrCopy(S1, S3); \S3 points to a separate copy of the string
]