|
|
1.1 root 1: .TH STRING 3
2: .CT 2 data_man
3: .SH NAME
4: strcat, strncat, strcmp, strncmp, strcpy, strncpy, strlen,
5: strchr, strrchr, strpbrk, strspn, strcspn, strtok, strdup \(mi string operations
6: .SH SYNOPSIS
7: .nf
8: .2C
9: .B #include <libc.h>
10: .PP
11: .B char *strcat(s1, s2)
12: .B char *s1, *s2;
13: .PP
14: .B char *strncat(s1, s2, n)
15: .B char *s1, *s2;
16: .B int n;
17: .PP
18: .B int strcmp(s1, s2)
19: .B char *s1, *s2;
20: .PP
21: .B int strncmp(s1, s2, n)
22: .B char *s1, *s2;
23: .B int n;
24: .PP
25: .B char *strcpy(s1, s2)
26: .B char *s1, *s2;
27: .PP
28: .B char *strncpy(s1, s2, n)
29: .B char *s1, *s2;
30: .B int n;
31: .PP
32: .B int strlen(s)
33: .B char *s;
34: .PP
35: .B char *strchr(s, c)
36: .B char *s;
37: .B int c;
38: .PP
39: .B char *strrchr(s, c)
40: .B char *s;
41: .B int c;
42: .PP
43: .B char *strpbrk(s1, s2)
44: .B char *s1, *s2;
45: .PP
46: .B int strspn(s1, s2)
47: .B char *s1, *s2;
48: .PP
49: .B int strcspn(s1, s2)
50: .B char *s1, *s2;
51: .PP
52: .B char *strtok(s1, s2)
53: .B char *s1, *s2;
54: .PP
55: .B char *strdup(s)
56: .B char *s;
57: .sp
58: .1C
59: .SH DESCRIPTION
60: The arguments
61: .I s1, s2
62: and
63: .I s
64: point to null-terminated strings.
65: The functions
66: .IR strcat ,
67: .IR strncat ,
68: .IR strcpy ,
69: and
70: .I strncpy
71: all alter
72: .IR s1 .
73: These functions do not check for overflow of
74: the array pointed to by
75: .IR s1 .
76: .PP
77: .I Strcat
78: appends a copy of string
79: .I s2
80: to the end of string
81: .IR s1 .
82: .I Strncat
83: appends at most
84: .I n
85: characters.
86: Each returns a pointer to the null-terminated result.
87: .PP
88: .I Strcmp
89: compares its arguments and returns an integer
90: less than, equal to, or greater than 0,
91: according as
92: .I s1
93: is lexicographically less than, equal to, or
94: greater than
95: .IR s2 .
96: .I Strncmp
97: makes the same comparison but looks at at most
98: .I n
99: characters.
100: .PP
101: .I Strcpy
102: copies string
103: .I s2
104: to
105: .IR s1 ,
106: stopping after the null character has been copied.
107: .I Strncpy
108: copies exactly
109: .I n
110: characters,
111: truncating
112: .I s2
113: or adding
114: null characters to
115: .I s1
116: if necessary.
117: The result will not be null-terminated if the length
118: of
119: .I s2
120: is
121: .I n
122: or more.
123: Each function returns
124: .IR s1 .
125: .PP
126: .I Strlen
127: returns the number of characters in
128: .IR s ,
129: not including the terminating null character.
130: .PP
131: .I Strchr
132: .RI ( strrchr )
133: returns a pointer to the first (last)
134: occurrence of character
135: .I c
136: in string
137: .IR s ,
138: or
139: .L (char *)0
140: if
141: .I c
142: does not occur in the string.
143: The null character terminating a string is considered to
144: be part of the string.
145: .PP
146: .I Strpbrk
147: returns a pointer to the first occurrence in string
148: .I s1
149: of any character from string
150: .IR s2 ,
151: .L (char *)0
152: if no character from
153: .I s2
154: exists in
155: .IR s1 .
156: .PP
157: .I Strspn
158: .RI ( strcspn )
159: returns the length of the initial segment of string
160: .I s1
161: which consists entirely of characters from (not from) string
162: .IR s2 .
163: .PP
164: .I Strtok
165: considers the string
166: .I s1
167: to consist of a sequence of zero or more text tokens separated
168: by spans of one or more characters from the separator string
169: .IR s2 .
170: The first call, with pointer
171: .I s1
172: specified, returns a pointer to the first character of the first
173: token, having replaced the character after the token by 0.
174: Subsequent calls,
175: signified by
176: .I s1
177: being
178: .LR "(char *)0" ,
179: will scan from where the preceding call left off.
180: The separator string
181: .I s2
182: may be different from call to call.
183: When no token remains in
184: .IR s1 ,
185: .L (char *)0
186: is returned.
187: .PP
188: .I Strdup
189: returns a pointer to a distinct copy of the null-terminated string
190: .I s
191: in space obtained from
192: .IR malloc (3)
193: or
194: .L (char *)0
195: if no space can be obtained.
196: .SH SEE ALSO
197: .IR memory (3)
198: .SH BUGS
199: .I Strcmp
200: and
201: .I strncmp
202: use native character comparison, which may
203: be signed or unsigned.
204: .br
205: The outcome of overlapping moves varies among implementations.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.