首页 > 编程语言 >C++ 字符串分割函数

C++ 字符串分割函数

时间:2023-08-17 23:56:46浏览次数:47  
标签:分割 string chrono arr C++ num str 字符串 include

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <chrono>
using namespace std;

void Myprint(string s)
{
    cout<<s<<endl;
}

vector<string> Split(string s,string c)
{
    vector<string> arr;
    string str_t;
    int num=0;
    do
    {
        num = s.find(c);
        if(num==-1)
        {
            break;
        }      
        str_t=s.substr(0,num);
        arr.push_back(str_t);
        s.erase(0,num+1);
    } while (true);   
    arr.push_back(s);
    return arr;
}

int main()
{
    string str = "abc 123 def";
    auto beforetime = chrono::steady_clock::now();
    vector<string> arr = Split(str," ");
    auto aftertime = chrono::steady_clock::now();
    for_each(arr.begin(),arr.end(),Myprint);
    double ms = chrono::duration<double,milli>(aftertime-beforetime).count();
    cout<<"运行时间"<<ms<<endl;
    system("pause");
}

abc
123
def
运行时间0.0235
请按任意键继续. . .

标签:分割,string,chrono,arr,C++,num,str,字符串,include
From: https://www.cnblogs.com/cjjloveslife/p/17639231.html

相关文章

  • 字符串学习笔记
    SAM(后缀自动机)待补充Lyndon分解定义:定义一个串是\(\text{Lyndon}\)串,当且仅当此串的最小后缀为此串本身。等价于该串为它所有循环表示中字典序最小的。\(\text{Lyndon}\)分解将任意串\(S\)划分成字符串序列,满足序列中每个串均为\(\text{Lyndon}\)串且每个串字典序......
  • C++函数参数匹配规则
    C++函数参数匹配1单个参数匹配voidf();//f1voidf(int);//f2voidf(int,int);//f3voidf(double,double=3.14);//f4intmain(){f(5.6);//调用f4return0;}candidatefunctions:函数名称相同(f1,f2,f3,f4都是)。viablefunctions:参数个数相同(......
  • Dev C++实现三子棋
    1.新建项目三子棋2.新建game.c,game.h文件3.main.c代码测试三子棋 #include<stdio.h>#include<stdlib.h>#include"game.h"voidmenu(){ printf("***************\n"); printf("*1.play0.exit*\n"); printf("***************\n&qu......
  • 分割等和子集(没理解透彻)
    给定一个非空的正整数数组nums,请判断能否将这些数字分成元素和相等的两部分。示例1:输入:nums=[1,5,11,5]输出:true解释:nums可以分割成[1,5,5]和[11]。示例2:输入:nums=[1,2,3,5]输出:false解释:nums不可以分为和相等的两部分背包问题解决classSolution{......
  • 基础算法之搜索与回溯算法C++
    1、组合的输出【题目描述】排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你用递归的方法输出所有组合。例如n=5,r=3,所有组合为:12312412513413514523......
  • C++ STL算法篇@@
    算法基础算法概述算法部分主要由头文件,,组成.是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较交换替换便利操作复制修改反转排序合并等等.体积很小,只包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的一些操作定义了一些模板类,用以声明函数......
  • 在C++中实现多线程异步TCP消息发送
    本文主要解释了在C++中如何实现一个多线程,异步发送TCP消息的系统。我们将会用到C++的标准库和Boost.Asio库。基础知识TCP(TransmissionControlProtocol):是一种面向连接的、可靠的、基于字节流的通信协议。它在两个网络节点之间创建一个稳定的连接,以便可以交换字节流。多线程编程:......
  • c/c++ 程序错误记录
     //返回类型为int,正常执行代码就会没有返回值,引起段错误inttest(int**a)//错误,引起段错误,且没有打印输出信息。{try{    *a=newint[10];  }catch(constchar*msg){    fprintf(stderr,"%s",msg);    return-1;  }}......
  • 有关C++哈希函数的常用形式,具体解释见注释
    #pragmaonce#include<unordered_set>#include<unordered_map>namespacehash_function{ //将参数传入 template<typename...Types> inlinesize_thash_val(constTypes&...args){ size_tseed=0; hash_val(seed,args...); returnseed;......
  • Python小项目:利用 U-net 完成细胞图像分割
    完整数据集下载:下载链接1前言在当今数字化时代,图像处理和分析已经成为了科学研究和技术应用领域的关键部分。在生物医学领域,图像分析对于诊断、治疗和疾病研究具有重要意义。本项目将带您深入了解U-net细胞分割技术,这是一种在生物医学图像领域广泛应用的语义分割方法,旨在精......