Home
Search all pages
Subjects
By activity
Professions, Sciences, Humanities, Business, ...
User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...
Text Strings
Conversions, tests, processing, manipulation,...
Math
Integer, Floating point, Matrix, Statistics, Boolean, ...
Processing
Algorithms, Memory, Process control, Debugging, ...
Stored Data
Data storage, Integrity, Encryption, Compression, ...
Communications
Networks, protocols, Interprocess, Remote, Client Server, ...
Hard World Timing, Calendar and Clock, Audio, Video, Printer, Controls...
File System
Management, Filtering, File & Directory access, Viewers, ...
|
|
|
RocketLink!--> Man page versions:
OpenBSD
FreeBSD
RedHat
Others
[ANSI C X3.159-1989]
STRTOK(3) OpenBSD Programmer's Manual STRTOK(3)
NAME
strtok - string token operations
SYNOPSIS
#include <string.h>
char *
strtok(char *str, const char *sep);
DESCRIPTION
This interface is obsoleted by strsep(3).
The strtok() function is used to isolate sequential tokens in a null-ter-
minated string, str. These tokens are separated in the string by at least
one of the characters in sep. The first time that strtok() is called, str
should be specified; subsequent calls, wishing to obtain further tokens
from the same string, should pass a null pointer instead. The separator
string, sep, must be supplied each time, and may change between calls.
The strtok() function returns a pointer to the beginning of each subse-
quent token in the string, after replacing the separator character itself
with an ASCII NUL character. When no more tokens remain, a null pointer
is returned.
Since strtok() modifies the string, str should not point to an area in
the initialized data segment.
EXAMPLES
The following will construct an array of pointers to each individual word
in the string s:
#define MAXTOKENS 128
char s[512], *p, *tokens[MAXTOKENS];
int i = 0;
snprintf(s, sizeof(s), "cat dog horse cow");
for ((p = strtok(s, " ")); p; (p = strtok(NULL, " ")), i++) {
if (i < MAXTOKENS - 1)
tokens[i] = p;
}
tokens[i] = '\0';
That is, tokens[0] will point to "cat", tokens[1] will point to "dog",
tokens[2] will point to "horse", and tokens[3] will point to "cow".
SEE ALSO
memchr(3), strchr(3), strcspn(3), strpbrk(3), strrchr(3), strsep(3),
strspn(3), strstr(3)
STANDARDS
The strtok() function conforms to ANSI X3.159-1989 (``ANSI C'').
BUGS
There is no way to get tokens from multiple strings simultaneously.
The System V strtok(), if handed a string containing only delimiter char-
acters, will not alter the next starting point, so that a call to
strtok() with a different (or empty) delimiter string may return a non-
null value. Since this implementation always alters the next starting
point, such a sequence of calls would always return NULL.
OpenBSD 2.6 June 29, 1991 1
Source: OpenBSD 2.6 man pages. Copyright: Portions are copyrighted by BERKELEY SOFTWARE DESIGN, INC., The Regents of the University of California, Massachusetts Institute of Technology, Free Software Foundation, FreeBSD Inc., and others. |
(Corrections, notes, and links courtesy of RocketAware.com)
FreeBSD Sources for strtok(3) functions OpenBSD sources for strtok(3)
Up to: NUL terminated String Comparison and Search - covers functions for comparing strings, finding characters within strings, et al.
RocketLink!--> Man page versions:
OpenBSD
FreeBSD
RedHat
Others
[ANSI C X3.159-1989]
Rapid-Links:
Search | About | Comments | Submit Path: RocketAware > man pages >
strtok.3/
RocketAware.com is a service of Mib Software Copyright 1999, Forrest J. Cavalier III. All Rights Reserved. We welcome submissions and comments
|