zoukankan      html  css  js  c++  java
  • C语言分割字符串函数strtok

    在编程过程中,有时需要对字符串进行分割.而有效使用这些字符串分隔函数将会给我们带来很多的便利.

    下面我将在MSDN中学到的strtok函数做如下翻译.

      strtok :在一个字符串查找下一个符号

    char *strtok( char *strToken, const char *strDelimit );

    返回值:返回指向在strToken字符串找到的下一个符号的指针,当在字符串找不到符号时,将返回NULL.每

    次调用都通过用NULL字符替代在strToken字符串遇到的分隔符来修改strToken字符串.

    参数:
    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 of ,,tokens and some  more tokens";
    char seps[]   = " , ";
    char *token;

    void main( void )
    {
       printf( "%s Tokens: ", string );
       /* Establish string and get the first token: */
       token = strtok( string, seps );
       while( token != NULL )
       {
          /* While there are tokens in "string" */
          printf( " %s ", token );
          /* Get next token: */
          token = strtok( NULL, seps );
       }
    }


    Output

    A string   of ,,tokens
    and some  more tokens

    Tokens:
     A
     string
     of
     tokens
     and
     some
     more
     tokens

  • 相关阅读:
    ExplorerControls的显示问题
    VS选项中没有C#相关设置选项?
    根据点提取栅格值
    原来我的代码暴露在外面!
    .NET反编译之manager,base.AutoScaleMode修复
    无法加载Dll”ArcGISVersion.dll”:0x8007007E
    ArcEngine9.3迁移至ArcObject10.1
    地籍宗地出图(二)
    地籍宗地出图(一)
    CAD设置图层透明显示
  • 原文地址:https://www.cnblogs.com/reddusty/p/4937729.html
Copyright © 2011-2022 走看看