mirror of https://github.com/mkerrisk/man-pages
97 lines
2.9 KiB
Plaintext
97 lines
2.9 KiB
Plaintext
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
|
.TH "STRCOLL" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
|
.\" strcoll
|
|
.SH NAME
|
|
strcoll \- string comparison using collating information
|
|
.SH SYNOPSIS
|
|
.LP
|
|
\fB#include <string.h>
|
|
.br
|
|
.sp
|
|
int strcoll(const char *\fP\fIs1\fP\fB, const char *\fP\fIs2\fP\fB);
|
|
.br
|
|
\fP
|
|
.SH DESCRIPTION
|
|
.LP
|
|
The \fIstrcoll\fP() function shall compare the string pointed to by
|
|
\fIs1\fP to the string pointed to by \fIs2\fP, both
|
|
interpreted as appropriate to the \fILC_COLLATE\fP category of the
|
|
current locale.
|
|
.LP
|
|
The
|
|
\fIstrcoll\fP() function shall not change the setting of \fIerrno\fP
|
|
if successful.
|
|
.LP
|
|
Since no return value is reserved to indicate an error, an application
|
|
wishing to check for error situations should set
|
|
\fIerrno\fP to 0, then call \fIstrcoll\fP(), then check \fIerrno\fP.
|
|
.SH RETURN VALUE
|
|
.LP
|
|
Upon successful completion, \fIstrcoll\fP() shall return an integer
|
|
greater than, equal to, or less than 0, according to
|
|
whether the string pointed to by \fIs1\fP is greater than, equal to,
|
|
or less than the string pointed to by \fIs2\fP when both are
|
|
interpreted as appropriate to the current locale. \ On error, \fIstrcoll\fP()
|
|
may set \fIerrno\fP, but no return
|
|
value is reserved to indicate an error.
|
|
.SH ERRORS
|
|
.LP
|
|
The \fIstrcoll\fP() function may fail if:
|
|
.TP 7
|
|
.B EINVAL
|
|
The \fIs1\fP or \fIs2\fP arguments contain characters outside the
|
|
domain of the collating sequence.
|
|
.sp
|
|
.LP
|
|
\fIThe following sections are informative.\fP
|
|
.SH EXAMPLES
|
|
.SS Comparing Nodes
|
|
.LP
|
|
The following example uses an application-defined function, \fInode_compare\fP(),
|
|
to compare two nodes based on an alphabetical
|
|
ordering of the \fIstring\fP field.
|
|
.sp
|
|
.RS
|
|
.nf
|
|
|
|
\fB#include <string.h>
|
|
\&...
|
|
struct node { /* These are stored in the table. */
|
|
char *string;
|
|
int length;
|
|
};
|
|
\&...
|
|
int node_compare(const void *node1, const void *node2)
|
|
{
|
|
return strcoll(((const struct node *)node1)->string,
|
|
((const struct node *)node2)->string);
|
|
}
|
|
\&...
|
|
\fP
|
|
.fi
|
|
.RE
|
|
.SH APPLICATION USAGE
|
|
.LP
|
|
The \fIstrxfrm\fP() and \fIstrcmp\fP()
|
|
functions should be used for sorting large lists.
|
|
.SH RATIONALE
|
|
.LP
|
|
None.
|
|
.SH FUTURE DIRECTIONS
|
|
.LP
|
|
None.
|
|
.SH SEE ALSO
|
|
.LP
|
|
\fIstrcmp\fP() , \fIstrxfrm\fP() , the Base Definitions volume of
|
|
IEEE\ Std\ 1003.1-2001, \fI<string.h>\fP
|
|
.SH COPYRIGHT
|
|
Portions of this text are reprinted and reproduced in electronic form
|
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
|
event of any discrepancy between this version and the original IEEE and
|
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
|
is the referee document. The original Standard can be obtained online at
|
|
http://www.opengroup.org/unix/online.html .
|