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

  • 相关阅读:
    调用外部文件(ShellExecute)
    字体函数 -- GetDeviceCaps
    字体函数 -- EnumFonts
    字体函数 -- EnumFontFamilies
    回调函数 EnumFontFamProc
    AlphaBlend
    c# 编程修改 wince 系统时间
    windows 打开文件夹
    C# wince 实现软件忙鼠标状态改变
    CSDN第一期总结之三:Thread的问题(转)
  • 原文地址:https://www.cnblogs.com/reddusty/p/4937729.html
Copyright © 2011-2022 走看看