zoukankan      html  css  js  c++  java
  • C++ split

    /*************************************************
    Function: split
    Description: 根据空格切分字符串
    Calls: // 被本函数调用的函数清单
    Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序)
    Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序)
    Input: // 输入参数说明,包括每个参数的作
    // 用、取值说明及参数间关系。
    Output: // 对输出参数的说明。
    Return: // 函数返回值的说明
    Others: // 其它说明
    *************************************************/
    vector<string> split(const string &s, const string &seperator) {
      vector<string> result;
      typedef string::size_type string_size;
      string_size i = 0;

      while (i != s.size()) {
        //找到字符串中首个不等于分隔符的字母;
        int flag = 0;
        while (i != s.size() && flag == 0) {
          flag = 1;
          for (string_size x = 0; x < seperator.size(); ++x)
            if (s[i] == seperator[x]) {
              ++i;
              flag = 0;
              break;
            }
        }

        //找到又一个分隔符,将两个分隔符之间的字符串取出;
        flag = 0;
        string_size j = i;
        while (j != s.size() && flag == 0) {
          for (string_size x = 0; x < seperator.size(); ++x)
            if (s[j] == seperator[x]) {
              flag = 1;
              break;
            }
            if (flag == 0)
              ++j;
          }
          if (i != j) {
            result.push_back(s.substr(i, j - i));
            i = j;
          }
        }
      return result;
    }

  • 相关阅读:
    【BZOJ4514】【SDOI2016】数字配对 [费用流]
    【BZOJ4517】【SDOI2016】排列计数 [数论]
    【BZOJ4516】【SDOI2016】生成魔咒 [SAM]
    【BZOJ1560】【JSOI2009】火星藏宝图 [DP]
    【BZOJ4903】【CTSC2017】吉夫特 [DP]
    【BZOJ3884】上帝与集合的正确用法 [欧拉定理]
    【BZOJ4869】相逢是问候 [线段树][欧拉定理]
    树和二叉树知识点总结
    Socket详解
    Host文件简介
  • 原文地址:https://www.cnblogs.com/herd/p/9889204.html
Copyright © 2011-2022 走看看