Mikroelektronika MIKROE-738 Datenbogen

Seite von 682
mikroC PRO for PIC32
MikroElektronika
621
memcmp
Prototype
int memcmp(void *s1, void *s2, int n);
Description Function  compares  the  first 
n
  characters  of  objects  pointed  to  by 
s1
  and
  s2
  and  returns  zero  if 
the objects are equal, or returns a difference between the first differing characters (in a left-to-right 
evaluation). Accordingly, the result is greater than zero if the object pointed to by 
s1
 is greater than the 
object pointed to by
 s2
 and vice versa.
Example
char txt[] = “mikroElektronika”;
char txt_sub[] = “mikro;
res = memcmp(txt, txt_sub, 16);  // returns 69, which is ASCII code of the 
first differing character - letter ‘E’
memcpy
Prototype
void *memcpy(void *d1, void *s1, int n);
Description Function copies 
n
 characters from the object pointed to by
  s1
 into the object pointed to by 
d1
. If 
copying takes place between objects that overlap, the behavior is undefined. The function returns 
address of the object pointed to by 
d1
.
Example
char txt[] = “mikroElektronika”;
char txt_sub[] = “mikr;
res = memcpy(txt+4, txt_sub, 4);  // string ‘txt’ will be populated with 
the  first  4  characters  of  the  ‘txt_sub’  string,  beginning  from  the  4th 
character
                                  // routine returns the address of the first 
populated character, if memory areas of the strings don’t overlap
memmove
Prototype
void *memmove(void *to, void *from, int n);
Description Function copies 
n
 characters from the object pointed to by 
from
 into the object pointed to by to. Unlike 
memcpy,  the  memory  areas  to  and  from  may  overlap. The  function  returns  address  of  the  object 
pointed to by 
to
.
Example
char txt[] = “mikroElektronika”;
char txt_sub[] = “mikr;
res = memmove(txt+7, txt_sub, 4);  // string ‘txt’ will be populated with first 
4 characters of the ‘txt_sub’ string, beginning from the 7th character
                                  // routine returns the address of the first 
populated character (memory areas of the object may overlap)