2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
2007-06-20 22:33:04 +00:00
|
|
|
.TH "STRXFRM" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" strxfrm
|
2007-09-20 06:03:25 +00:00
|
|
|
.SH PROLOG
|
|
|
|
This manual page is part of the POSIX Programmer's Manual.
|
|
|
|
The Linux implementation of this interface may differ (consult
|
|
|
|
the corresponding Linux manual page for details of Linux behavior),
|
|
|
|
or the interface may not be implemented on Linux.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NAME
|
|
|
|
strxfrm \- string transformation
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.LP
|
|
|
|
\fB#include <string.h>
|
|
|
|
.br
|
|
|
|
.sp
|
|
|
|
size_t strxfrm(char *restrict\fP \fIs1\fP\fB, const char *restrict\fP
|
|
|
|
\fIs2\fP\fB, size_t\fP \fIn\fP\fB);
|
|
|
|
.br
|
|
|
|
\fP
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.LP
|
|
|
|
The \fIstrxfrm\fP() function shall transform the string pointed to
|
|
|
|
by \fIs2\fP and place the resulting string into the array
|
|
|
|
pointed to by \fIs1\fP. The transformation is such that if \fIstrcmp\fP()
|
|
|
|
is applied to
|
|
|
|
two transformed strings, it shall return a value greater than, equal
|
|
|
|
to, or less than 0, corresponding to the result of \fIstrcoll\fP()
|
|
|
|
applied to the same two original strings. No more than \fIn\fP bytes
|
|
|
|
are placed
|
|
|
|
into the resulting array pointed to by \fIs1\fP, including the terminating
|
|
|
|
null byte. If \fIn\fP is 0, \fIs1\fP is permitted to
|
|
|
|
be a null pointer. If copying takes place between objects that overlap,
|
|
|
|
the behavior is undefined.
|
|
|
|
.LP
|
|
|
|
The
|
|
|
|
\fIstrxfrm\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 \fIstrxfrm\fP(), then check \fIerrno\fP.
|
|
|
|
.SH RETURN VALUE
|
|
|
|
.LP
|
|
|
|
Upon successful completion, \fIstrxfrm\fP() shall return the length
|
|
|
|
of the transformed string (not including the terminating
|
|
|
|
null byte). If the value returned is \fIn\fP or more, the contents
|
|
|
|
of the array pointed to by \fIs1\fP are unspecified.
|
|
|
|
.LP
|
|
|
|
On
|
|
|
|
error, \fIstrxfrm\fP() may set \fIerrno\fP but no return value is
|
|
|
|
reserved to indicate an error.
|
|
|
|
.SH ERRORS
|
|
|
|
.LP
|
|
|
|
The \fIstrxfrm\fP() function may fail if:
|
|
|
|
.TP 7
|
|
|
|
.B EINVAL
|
|
|
|
The string pointed to by the \fIs2\fP argument contains characters
|
|
|
|
outside the domain of the collating sequence.
|
|
|
|
.sp
|
|
|
|
.LP
|
|
|
|
\fIThe following sections are informative.\fP
|
|
|
|
.SH EXAMPLES
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH APPLICATION USAGE
|
|
|
|
.LP
|
|
|
|
The transformation function is such that two transformed strings can
|
|
|
|
be ordered by \fIstrcmp\fP() as appropriate to collating sequence
|
|
|
|
information in the program's locale (category
|
|
|
|
\fILC_COLLATE ).\fP
|
|
|
|
.LP
|
|
|
|
The fact that when \fIn\fP is 0 \fIs1\fP is permitted to be a null
|
|
|
|
pointer is useful to determine the size of the \fIs1\fP
|
|
|
|
array prior to making the transformation.
|
|
|
|
.SH RATIONALE
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH FUTURE DIRECTIONS
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH SEE ALSO
|
|
|
|
.LP
|
2007-09-20 06:11:55 +00:00
|
|
|
\fIstrcmp\fP(), \fIstrcoll\fP(), the Base Definitions volume of
|
2004-11-03 13:51:07 +00:00
|
|
|
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 .
|