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

    是不是很简单呢!

  • 相关阅读:
    vue-cli3 set vue.config.js
    oracle 基本查询语句及实例
    输出流啊输入流
    java线程
    sql基础
    抽象类和接口
    重载和重写的区别
    简单的java面向对象计算器
    运算符的优先级
    隐式类型转换规则
  • 原文地址:https://www.cnblogs.com/bwbfight/p/9267617.html
Copyright © 2011-2022 走看看