C语言分割字符串函数strtok!

    在编程过程当中,有时须要对字符串进行分割。而有效使用这些字符串分隔函数将会给咱们带来不少的便利。编程

    下面我将在msdn中学到的strtok函数作以下翻译。ide

    strtok :函数

    在一个字符串查找下一个符号oop

    char *strtok( char *strtoken, const char *strdelimit );this

    返回值:.net

    返回指向在strtoken字符串找到的下一个符号的指针,华夏名网当在字符串找不到符号时,将返回null.每翻译

    次调用都经过用null字符替代在strtoken字符串遇到的分隔符来修改strtoken字符串。指针

    参数:token

    strtoken:包含符号的字符串字符串

    strdelimit:分隔符集合

    注:第一次调用strtok函数时,这个函数将忽略间距分隔符并返回指向在strtoken字符串找到的第一个符

    号的指针,该符号后以null字符结尾。经过调用一系列的strtok函数,更多的符号将从strtoken字符串中分

    离出来。每次调用strtok函数时,都将经过在找到的符号后插入一个null字符来修改strtoken字符串。为了

    读取strtoken中的下一个符号,调用strtok函数时strtoken参数为null,这会引起strtok函数在已修改过

    的strtoken字符串查找下一个符号。

    example(摘自msdn)

    点击(此处)折叠或打开

    /* strtok.c: in this program, a loop uses strtok

    * to print all the tokens (separated by commas

    * or blanks) in the string named "string".

    */

    #include <string.h>

    #include <stdio.h>

    char string[] = "a string\tof ,,tokens\nand some more tokens";

    char seps[] = " ,\t\n";

    char *token;

    void main( void )

    {

    printf( "%s\n\ntokens:\n", string );

    /* establish string and get the first token: */

    token = strtok( string, seps );

    while( token != NULL )

    {

    /* while there are tokens in "string" */

    printf( " %s\n", token );

    /* get next token: */

    token = strtok( NULL, seps );

    }

    }

    输出结果:

    a string   of ,,tokens

    and some  more tokens

    tokens:

    a

    string

    of

    tokens

    and

    some

    more

    tokens

相关文章
相关标签/搜索