zoukankan      html  css  js  c++  java
  • 探究一下strtok的用法

    首先,我们看看man 手册中如何说?

    说白了,就是截取指定分割符的字符串,怎么用呢?

    我们来看一个我们自己写的一个实现strtok函数的功能的模型:

    int strtok(char * buf,int len)
    {
      int i = 0;
      char *p;
      char *arg[10];

      fgets(buf,len,stdin);
      buf[strlen(buf) - 1] = '';

      p = buf;
      for(; *p != '';){

      while(*p == ' '){
        p ++;
      }

      arg[ i ++] = p;

      while(*p != ' ' && *p != ''){
      p ++;
      }

      if(*p != ''){
        *p++ = '';
      }
     }

      arg[i] = NULL;

      for(i = 0;arg[i] != NULL;i ++){
      printf("%s ",arg[i]);
     }
      return 0;
    }

    似乎有点小麻烦,其实这些事情strtok函数已经帮你做了,不信请看更简单的用法:

    int main(int argc, const char *argv[])
    {
      int i = 0;
      char *p;
      char *arg[10];
      char buf[1024];

      fgets(buf,sizeof(buf),stdin);
      buf[strlen(buf) - 1] = '';

      arg[i] = strtok(buf," ");

      while(arg[++i] = strtok(NULL," "))
       ;

      for(i = 0; arg[i] != NULL;i ++){
        printf("%s ",arg[i]);
           }

      return 0;
    }

    测试结果如下:

    输入:hello world

    输出:hello

       world

    是不是很简单呢!

  • 相关阅读:
    JavaScript 选取 min 到 max 之间的 length 个数字并排序
    css BFC
    css 清除浮动
    css hasLayout——IE浏览器css bug的一大罪恶根源
    css hack
    HTML React
    JavaScript 封装一些常用的函数
    dsoframer.ocx在win7下没法用
    DSO Framer ActiveX 控件
    c#读写txt文件
  • 原文地址:https://www.cnblogs.com/bwbfight/p/9267617.html
Copyright © 2011-2022 走看看