Mikroelektronika MIKROE-442 Datenbogen
206
mikoBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
Strings
A string represents a sequence of characters equivalent to an array of
char
. It is declared like this:
string[string_length]
The specifier
string_length
is a number of characters a string consists of. The string is stored internally as the given
sequence of characters plus a final
null
character (zero). This appended “stamp” does not count against string’s total
length.
A null string (
“”
) is stored as a single
null
character.
You can assign string literals or other strings to string variables. The string on the right side of an assignment operator
has to be shorter than another one, or of equal length. For example:
dim msg1 as string[20]
dim msg2 as string[19]
main:
msg1 = “This is some message”
msg2 = “Yet another message”
msg1 = msg2 ‘ this is ok, but vice versa would be illegal
Alternately, you can handle strings element–by–element. For example:
dim s as string[5]
‘ ...
s = “mik”
‘ s[0] is char literal “m”
‘ s[1] is char literal “i”
‘ s[2] is char literal “k”
‘ s[3] is zero
‘ s[4] is undefined
‘ s[5] is undefined
Be careful when handling strings in this way, since overwriting the end of a string will cause an unpredictable
behavior.
Array of string is declared in this manner:
typedef str as string[5] ‘ first, declare str as a string of 5 elements
dim buffer as str[5] ‘ now, declare buffer as a array of str elements
String Concatenating
mikroBasic PRO for dsPIC30/33 and PIC24 allows you to concatenate strings by means of plus operator. This kind of
concatenation is applicable to string variables/literals, character variables/literals. For control characters, use the non-
quoted hash sign and a numeral (e.g.
#13
for CR).