![]() Chapter Contents |
![]() Previous |
![]() Next |
| strcmp |
| Portability: | ISO/ANSI C conforming, UNIX compatible |
| SYNOPSIS | |
| DESCRIPTION | |
| RETURN VALUE | |
| CAUTION | |
| IMPLEMENTATION | |
| EXAMPLE | |
| RELATED FUNCTIONS | |
| SEE ALSO |
| SYNOPSIS |
#include <string.h> int strcmp(const char *str1, const char *str2);
| DESCRIPTION |
strcmp
compares two character strings (
str1
and
str2
) using the standard EBCDIC collating sequence.
The return value has the same relationship to 0 as
str1
has to
str2
. If two strings
are equal up to the point at which one terminates (that is, contains a null
character), the longer string is considered greater.
| RETURN VALUE |
The return value from
strcmp
is 0 if the two strings are equal, less than 0 if
str1
compares less than
str2
, and
greater than 0 if
str1
compares greater
than
str2
. No other assumptions should
be made about the value returned by
strcmp
.
| CAUTION |
If one of the arguments of
strcmp
is not properly terminated, a protection or addressing exception
may occur. If one of the arguments to the built-in version of
strcmp
is a constant, the compiler generates a CLC instruction to perform
the entire comparison. If the variable argument is not null terminated, the
character-by-character comparison may perform as expected, but a comparison
by the CLC instruction may cause an addressing exception in rare cases.
| IMPLEMENTATION |
The compiler generates inline code for
strcmp
unless
strcmp
is undefined (by an
#undef
statement)
to prevent this. The inline code may still call a library routine in special
cases.
| EXAMPLE |
#include <lcstring.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
char command[20];
int n = 0;
for(;;) {
++n;
printf("Enter command # %d\n", n);
puts("Enter quit to terminate/any other command to continue");
gets(command_;
if (strcmp(command, "quit") == 0) break;
/* Determine whether command is equal to quit. */
strlwr(command);
if (strcmp(command, "quit") == 0)
exit(0);
puts("Did you meant to say quit? (Case is significant.)");
}
}
| RELATED FUNCTIONS |
memcmp
,
strcoll
,
strncmp
,
strxfrm
| SEE ALSO |
![]() Chapter Contents |
![]() Previous |
![]() Next |
![]() Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.