#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;
}
C++读取csv文件&&收获到的知识
最新推荐文章于 2024-08-15 20:52:55 发布