C++读取csv文件&&收获到的知识

#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <vector>

using namespace std;

string Trim(string &str)
{
    //在字符串str中从索引0开始,返回首次不匹配" \t\r\n"的位置(包括空格)
    str.erase(0, str.find_first_not_of(" \t\r\n"));//find_first_not_of:在字符串中搜索与其参数中指定的任何字符都不匹配的第一个字符,""里是所要搜索的总集合.
    str.erase(str.find_last_not_of(" \t\r\n") + 1);        
    return str;
}

int main()
{
    ifstream fin("test.csv");    //打开文件流
    string line;
    while (getline(fin, line))  //"\n"区分行,遇到eof终止
    {
        cout << "原始字符串:" << line << endl;
        istringstream sin(line);    
        vector<string> fields;
        string field;
        while (getline(sin, field, ',')) //以逗号为分隔符,如果没有第3个参数,则以'\n'作为分隔符.
        {
            fields.push_back(field);
        }
        string name = Trim(fields[0]);
        string age = Trim(fields[1]);
        string birthday = Trim(fields[2]);
        cout << "处理过的字符串:" << name << "\t" << age << "\t" << birthday << endl;
    }
    return EXIT_SUCCESS;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodingLife99

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值