
#include <lcstring.h>
int memcmpp (const void *arg1, const void *arg2,
size_t size1, size_t size2, int pad);
memcmpp compares two arrays (arg1 and arg2), each of which
has an associated size (size1 and size2). The shorter array
is treated as if it has the same size as the larger, and all additional
bytes have the value specified by pad.
memcmpp returns 0 if the two strings are equal, an integer less
than 0 if the first string is less than the second, or an integer
greater than 0 if the first string is greater than the second.
memcmpp unless memcmpp
is undefined (by an #undef statement) to prevent this. The
inline code may still call a library routine in special cases (for example, if
the length is a variable whose value is larger than 16 megabytes).
Usually, the code generated by memcmpp uses the CLCL instruction to
perform the comparison. If more than 16 megabytes of data are to be compared, the
library routine is called, which processes 16M-1 bytes at a time.
#include <lcstring.h>
#include <stdlib.h>
#include <stdio.h>
#define MAXLEN 100
main()
{
char line[MAXLEN];
char *cmdname;
int cmdlen;
command:
puts("enter command:");
cmdname = gets(line);
cmdlen = strlen(cmdname);
/* If the value in cmdname is "exit", possibly */
/* followed by trailing blanks, terminate execution. */
if (memcmpp(cmdname, "exit", cmdlen, 4, ' ') == 0){
puts("You have asked to exit program; exiting ...");
exit(0);
}
else{
puts("Command not understood ... try again.");
goto command;
}
}
memcmp
Copyright (c) 1998 SAS Institute Inc. Cary, NC, USA. All rights reserved.