给c++写python的split()与input()【python一样写c++、一】

python的split确实是很香的功能。
写c++的时候,就会想着,要是能直接input().split()那不挺好。

实际上真的可以:自己动手,丰衣足食。

先放成品展示。

int main(){
   
    auto k=input().split();//k的类型是vector<string>
	cout<<k<<endl;
}

在这里插入图片描述
完整代码在文章末尾。

1.首先,写一个input()不难,getline+return就行

mystring input(string c=""){
   
	cout<<c;
	mystring s;
	getline(cin,s);
	return s;
}

为什么是mystring呢?因为我们想要实现input().split()的效果。普通的string不能胜任,所以自己构造一个mystring的类(具体往下看)

#本文作者XXOY

2.写一个split()函数。
考虑到便捷性,直接把它写成成员函数。
这个mystring类就继承string类。写成class mystring:public string也行。

用struct主要是应为加入的成员函数都是public。

实现部分就爆扫过去,扫到ch(默认空格)就记录位置,然后插入到一个vector<string>里

struct mystring:string{
   //继承string类,写成class mystring:public string也行
    mystring() :string() {
   }
    mystring& operator=(const string &c) {
    
        (*this).assign(c);
        return *this;
    }
    vector<string> split(char c=' '){
   
        vector
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值