语法:
#include <cstring>
char *strtok( char *str1, const char *str2 ); //注意const char *str2,必须定义为 str[],定义 cha *str2会出错。
strtok
函数返回str1
中下一个标记
(token),而str2
中包含分隔符来决定标记。如果没有发现标记strtok
返回NULL。
为了将字符串转换成标记,第一次调用strtok
应该将str1
指向要标记的字符串。之后所有的调用应该将 str1
设置为 NULL
。
例如:
char str[] = "now # is the time for all # good men to come to the # aid of their country";
char delims[] = "#";
char *result = NULL;
result = strtok( str, delims );
while( result != NULL ) {
printf( "result is /"%s/"/n", result );
result = strtok( NULL, delims );
}
上面的代码将显示一下输出:
result is "now "
result is " is the time for all "
result is " good men to come to the "
result is " aid of their country"
标准C字符串和字符
http://www.cppreference.com/wiki/cn/string/c/start
参考这个网站
自己写一个就行了
int tbsSplitString(char *str, char *substr[], const char delimit, const int max_count)
{
int count = 0;
if ( str == NULL || substr == NULL )
return 0;
if ( 0 < max_count )
substr[0] = str;
count = 1;
while ( *str )
{
while ( *str != delimit && *str != '/0' )
str++;
if ( *str == delimit )
{
*str++ = '/0';
if(count < max_count)
substr[count] = str;
count++;
}
}
return count;
}