strncpy <string pointer destination>, <string pointer source>, <byte n>

The STRNCPY command is similar to STRCPY, the difference is that STRNCPY will copy the first n characters only. Copying will stop at the end of source even if n is greater than the length of source.


dim buffer![6]
a$ = "hello world"
b$ = @buffer!
strncpy b$, a$, 5
print b$
rem -- the above will output "hello"

STRNCPY can be used to emulate the CBM BASIC functions LEFT$ and MID$. The example above shows how to get the first n characters of a string. Here is an example for getting the middle of a string:


10 a$="hello world"
20 b$=mid$(a$, 4, 3)
30 print b$

XC=BASIC code:

a$ = "hello world"
dim buffer![6]
b$ = @buffer!
strcpy b$, a$+4, 3
print b$

Both programs will output “o w”.

Important note: The routine will not stop copying at the end of destination which may lead to an overflow situation. You have to make sure that there is enough memory at the destination.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies


Enter your comment. Wiki syntax is allowed: