Table of Contents | Previous | Next |
There are two groups of string functions defined in the header
<string.h>
. The first have names beginning
with str
; the second have names beginning with
mem
.
Comparison functions treat arguments as unsigned char
arrays.
Note that there are three other str
functions defined
in <stdlib.h>.
In the following table, variables s
and t
are of type char *
; cs
and ct
are of type const char *
; n
is of type
size_t
; and c
is an int
converted to char
.
char *strcpy(s, ct)
|
copy string ct to string s , including
'\0' ; return s . |
||
char *strncpy(s,ct,n)
|
copy at most n characters of string
ct to s ; return s . Pad
with '\0' if ct has fewer than
n characters. |
||
char *strcat(s,ct)
|
concatenate string ct to end of string
s ; return s . |
||
char *strncat(s,ct,n)
|
concatenate at most n
characters of string ct to string s ,
terminate s with '\0' ;
return s . |
||
int strcmp(cs,ct)
|
compare string cs to string ct ;
return <0 if cs<ct , 0 if cs==ct , or
>0 if cs>ct . |
||
int strncmp(cs,ct,n)
|
compare at most n characters of string
cs to string ct ; return <0 if
cs<ct , 0 if cs==ct , or
>0 if cs>ct . |
||
char *strchr(cs,c)
|
return pointer to first occurrence of c in
cs or NULL if
not present. |
||
char *strrchr(cs,c)
|
return pointer to last occurrence of c in
cs or NULL if not
present. |
||
size_t strspn(cs,ct)
|
return length of prefix of cs consisting of
characters in ct
|
||
size_t strcspn(cs,ct)
|
return length of prefix of cs consisting of
characters not in ct
|
||
char *strpbrk(cs,ct)
|
return pointer to first occurrence in string cs of
any character of string ct , or NULL if none are present. |
||
char *strstr(cs,ct)
|
return pointer to first occurrence of string ct in
cs , or NULL if not present. |
||
size_t strlen(cs)
|
return length of cs |
||
char *strerror(n)
|
return pointer to implementation-defined string corresponding
to error n .
|
||
char *strtok(s,ct)
|
strtok searches s for tokens
delimited by characters from ct ; see below.
|
||
A sequence of calls of strtok(s,ct) splits
s into tokens, each delimited by a character from
ct . The first call in a sequence has a
non-NULL
s . It finds the first token in
s consisting of characters not in ct ;
it terminates that by overwriting the next character of
s with '\0' and returns a pointer to
the token. Each subsequent call, indicated by a NULL value of
s , returns the next such token, searching from
just past the end of the previous one.
strtok returns NULL when no further token is found.
The string ct may be different on each call.
|
|||
int strcoll(cs,ct)
|
compares string cs to string
ct , both interpreted as appropriate to the
LC_COLLATE category of the current locale; returns <0 if
cs<ct , 0 if cs==ct , or
>0 if cs>ct .
|
||
size_t strxfrm(s,cs,n)
|
transforms string cs and
places into s . No more than n
characters are placed in s , including the terminating
null character. If n is zero, s can be
a null pointer. Undefined for overlapping objects.
Returns the length of the transformed string.
|
mem
... functions are meant for manipulating objects
as character arrays; the intent is an interface to efficient
routines. In the following table, s
and
t
are of type void *
; cs
and
ct
are of type const void *
; n
is of type size_t
; and c
is an
int
converted to an unsigned char
.
Except for memmove
, the behaviour is undefined if copying
takes place between overlapping objects.
void *memcpy(s,ct,n)
|
copy n characters from
ct to s , and return s . |
||
void *memmove(s,ct,n)
|
same as memcpy except that it
works even if the objects overlap. |
||
void *memcmp(cs,ct,n)
|
compare the first n
characters of cs with ct ; return <0
if cs<ct , 0 if cs==ct , or
>0 if cs>ct . |
||
void *memchr(cs,c,n)
|
return pointer to first occurrence of
character c in cs , or NULL if not present among the first
n characters. |
||
void *memset(s,c,n)
|
place character c into first
n characters of s , return s .
|
Table of Contents | Previous | Next |
Last modified: Mon May 15 13:12:26 2000