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

相關文章
相關標籤/搜索