http://www.cplusplus.com/reference/clibrary/cstring/strtok/
char * strtok ( char * str, const char * delimiters );
|
<cstring>
|
Split string into tokens
A sequence of calls to this function split str into tokens, which are sequences of contiguous characters separated by any of the characters that are part of delimiters.
On a first call, the function expects a C string as argument for str, whose first character is used as the starting location to scan for tokens. In subsequent calls, the function expects a null pointer and uses the position right after the end of last token as the new starting location for scanning.
To determine the beginning and the end of a token, the function first scans from the starting location for the first character not contained in delimiters (which becomes thebeginning of the token). And then scans starting from this beginning of the token for the first character contained in delimiters, which becomes the end of the token.
This end of the token is automatically replaced by a null-character by the function, and the beginning of the token is returned by the function.
Once the terminating null character of str has been found in a call to strtok, all subsequent calls to this function with a null pointer as the first argument return a null pointer.
Parameters
str
C string to truncate. The contents of this string are modified and broken into smaller strings (tokens).
Alternativelly, a null pointer may be specified, in which case the function continues scanning where a previous successful call to the function ended.
delimiters
C string containing the delimiters.
These may vary from one call to another.
Return Value
A pointer to the last token found in string.
A null pointer is returned if there are no tokens left to retrieve.
Example
/* 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;
}
|
Output:
Splitting string "- This, a sample string." into tokens:
This
a
sample
string
|
See also.
strcspn |
Get span until character in string (function)
|
strpbrk |
Locate character in string (function)
|
分享到:
相关推荐
例如,如果我们有这样一个字符串:"12.34,abc,567890,1234567890.123",我们可以使用逗号作为分隔符,依次获取每个子串。 首先,我们声明一个字符串变量存储原字符串,然后调用`strtok`进行第一次分割。每次调用`...
`strtok`函数是C语言中用于字符串处理的一个重要函数,它主要用于将一个字符串按照指定的分隔符切割成多个子串。这个函数的核心在于它能够动态地追踪字符串的分割状态,使得在后续调用中可以从上次切割的位置继续...
- `_tcstok` 是一个通用版本的 `strtok` 函数,用于将字符串根据指定的分隔符进行分割。 - 第一次调用时,传入待分割的字符串 `str` 和分隔符 `seps`。 - 随后的每次调用,只需传入 `NULL` 和分隔符,即可继续获取下...
这里的`str`是原始字符串,`delim`是分隔符字符串。`strtok`会返回一个指向被分割出的子字符串的指针。每次调用都会返回下一个子字符串,直到没有更多的子字符串可返回时,返回`NULL`。下面是一个示例: ```cpp #...
C语言中的`strtok`函数是一个非常实用的字符串处理函数,它主要用于将一个字符串按照指定的分隔符切割成多个子字符串。这个函数的核心在于它能够动态地处理字符串,逐次返回每个子串,直到没有分隔符为止。在深入...
- 找到第一个非分隔符字符后,将其地址赋值给`token`,用于返回。 - 继续遍历后续字符,直到再次遇到分隔符或字符串结尾。 - 遇到分隔符时,将该位置前一个字符替换为`\0`,从而将子串分割出来。 - 更新`last`...
strtok 函数可以将字符串分解成多个子字符串,strtok 分解 s1 字符串为用特定分隔符分隔的多个字符串。 strupr 函数可以将字符串中的所有字符变为大写,strupr 将字符串 s 中的字符变为大写。 strlwr 函数可以将...
通常,它会提供一个或多个方法,如 `split()`,接收一个字符串和分隔符作为参数,返回一个字符串数组或列表。这样,用户就可以像在高级语言中那样,通过索引访问和处理分割后的子字符串,使得代码更简洁,易于理解。...
这段代码首先使用`strtok()`函数将字符串按空格分割成单词,然后在循环中比较每个单词的长度。如果当前单词长度大于已知的最长长度,就更新最长长度和起始位置。最后,打印出最长的单词及其长度。 需要注意的是,`...
参数说明:str为要分解的字符串,delim为分隔符字符串。 返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。 其它:strtok函数线程不安全,可以使用strtok_r替代。 示例: //借助strtok实现...
其中,`str`是待分解的原始字符串,`delim`是分隔符字符串,可以包含一个或多个字符。 ### 2. `strtok`的使用步骤 - **首次调用**:首先,你需要提供待分割的完整字符串作为`str`参数。`strtok`会返回第一个子字符...
32. strtok:分割字符串,每次调用处理一个分隔符并返回一个子字符串,直到所有分隔符都被处理完。 这些函数涵盖了从基本的字符串比较、复制到复杂的查找、连接以及字符串操作等多个方面,是处理文本数据的基础。...
`strtok` 是 C++ 标准库中的一个函数,用于根据指定的分隔符分割字符串,并返回每个分割后的子串。它是处理字符串时非常有用的一个工具,尤其是在需要按特定模式拆分字符串时。 ##### 函数原型: ```cpp char *...
这两个函数根据一个或多个分隔符解析字符串(字符数组)或字符串元胞数组。 我将它设计为 strtok.m 的替代品,因为它作为字符串解析函数不符合我的期望或要求。 这些功能无疑需要进一步增强和改进,因此欢迎您提出...
`str`是原始字符串,`delim`是分隔符字符串。每次调用`strtok`,它会在`str`中找到下一个由`delim`中的字符分隔的部分,并返回这个部分的指针。当没有更多可分割的部分时,`strtok`返回`NULL`。值得注意的是,`...
其中,s是要分解的字符串,delim是分隔符字符串。strtok函数的作用是将字符串s分解成多个子字符串,使用delim作为分隔符。 例如,如果我们有一个字符串"hello,hi:what?is!the.matter;",我们可以使用strtok函数将其...
在这个例子中,`strtok()` 首先用空格作为分隔符找到第一个子字符串,然后在后续调用中使用 `NULL` 作为第一个参数,继续在剩余的字符串中查找分隔符。 字符串处理还包括其他一些基本操作,如拼接、查找、替换等。...
`strok`函数是C语言库中的一个用于字符串切割的标准函数,其功能是从给定的字符串中,根据指定的分隔符切割出子字符串。它返回的是字符串中的第一个子字符串,并且会修改原始字符串(添加空字符`\0`作为切割点)。 ...
explode()函数允许我们指定一个分隔符,并将原字符串分割成多个子字符串,形成一个数组。在性能上,explode()要比正则表达式函数如preg_split快得多,特别是当不需要正则表达式的复杂模式匹配功能时。explode()函数...