请选择 进入手机版 | 继续访问电脑版

赵耀的知识库

 找回密码
 立即注册
搜索
热搜: 报盘 状态 失败
查看: 12929|回复: 0

C++中如何实现split的效果

[复制链接]

368

主题

374

帖子

2263

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2263
发表于 2020-8-17 22:36:39 | 显示全部楼层 |阅读模式
#include <iostream>
#include<sstream>
#include <fstream>
#include<vector>
#include<string>
using namespace std;
int main()
{
    ifstream in("E://packageProblem.csv");
    string line;
    while(getline(in,line)){
        cout<<"原始数据为:"<<line<<endl;
        istringstream sin(line);//实例化一个字符串流对象并读入line字符串,除了这种方式,还可以用sin.str(line)的方式写入。当然,多次使用同一个流是需要clear的。
        vector<string>fields;//承接分割后的字符串
        string field;
        while(getline(sin,field,',')){//将字符串流sin中的字符读入到field字符串中,以逗号为分隔符
            fields.push_back(field);
            cout<<field<<endl;
        }
    }
    cout<<endl;
}
当然这只是一种方法,实际上如果我们使用了vector的话,直接一个字符一个字符地遍历、到逗号处断开也可以,这里只是方法之一.


其他方法:
https://blog.csdn.net/mary19920410/article/details/77372828
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则