首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请教strtok函数的用法

2012-04-26 
请问strtok函数的用法请问strtok函数的用法[解决办法]/* strtok example */#include stdio.h#include s

请问strtok函数的用法
请问strtok函数的用法

[解决办法]
/* strtok example */
#include <stdio.h>
#include <string.h>

int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");
}
return 0;
}
[解决办法]
STRTOK(3) Linux Programmer's Manual STRTOK(3)

NAME
strtok, strtok_r - extract tokens from strings

SYNOPSIS
#include <string.h>

char *strtok(char *s, const char *delim);

char *strtok_r(char *s, const char *delim, char **ptrptr);

DESCRIPTION
A 'token' is a nonempty string of characters not occurring in the string delim, followed by \0 or by a character occurring in delim.

The strtok() function can be used to parse the string s into tokens. The first call to strtok() should have s as its first argument. Subsequent calls should
have the first argument set to NULL. Each call returns a pointer to the next token, or NULL when no more tokens are found.

If a token ends with a delimiter, this delimiting character is overwritten with a \0 and a pointer to the next character is saved for the next call to str-
tok(). The delimiter string delim may be different for each call.

The strtok_r() function is a reentrant version of the strtok() function, which instead of using its own static buffer, requires a pointer to a user allocated
char*. This pointer, the ptrptr parameter, must be the same while parsing the same string.

BUGS
Never use these functions. If you do, note that:

These functions modify their first argument.

These functions cannot be used on constant strings.

The identity of the delimiting character is lost.

The strtok() function uses a static buffer while parsing, so it's not thread safe. Use strtok_r() if this matters to you.

RETURN VALUE
The strtok() function returns a pointer to the next token, or NULL if there are no more tokens.

CONFORMING TO
strtok()
SVID 3, POSIX, BSD 4.3, ISO 9899

strtok_r()
POSIX.1c
:
[解决办法]
。。。百度或者google很多的啊
[解决办法]
strtok函数
#include <stdio.h>
#include <string.h>
void main()
{
char szBuf[]="1,2,3,4,5,6,7,8,9";
printf("%s\n",szBuf);

char *p=NULL;
p=strtok(szBuf,",");

while (p)
{
printf("%s\n",p);
p=strtok(NULL,",");
}
p=NULL;
}

热点排行