C++ 读取.csv文件

实现用C++读取.csv文件,并存到STL中

.csv文件即将表格数据转换为用分隔字符分隔的值(也可以不是逗号)

头文件:
#include <fstream>
#include <string>
#include <sstream>
简单的demo
int main(){
    vector<vector<int>> user_arr;
    ifstream fp("xxx/user_data.csv"); //定义声明一个ifstream对象,指定文件路径
    string line;
    getline(fp,line); //跳过列名,第一行不做处理
    while (getline(fp,line)){ //循环读取每行数据
        vector<int> data_line;
        string number;
        istringstream readstr(line); //string数据流化
        //将一行数据按','分割
        for(int j = 0;j < 11;j++){ //可根据数据的实际情况取循环获取
            getline(readstr,number,','); //循环读取数据
            data_line.push_back(atoi(number.c_str())); //字符串传int
        }
        user_arr.push_back(data_line); //插入到vector中
    }
    return 0;
}

补充:
将字符串类型数据转换成 int 类型需要先使用 .c_str() 转成 const char* 类型,再用 atoi() 转成 int ,如果转为浮点型则 atof()long 型则 atol() 等等。

结果:
.csv文件
输出结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • csv文件内容由多行构成,每行是逗号分隔的字符串。 csv可以用excel来显示,但是不能使用excel来编辑保存...
    何幻阅读 4,032评论 0 0
  • 标准c++中string类函数介绍 注意不是CString 之所以抛弃char*的字符串而选用C++标准程序库中的...
    杰伦哎呦哎呦阅读 1,377评论 0 8
  • C/C++头文件一览 C #include //设定插入点 #include //字符处理 #include ...
    breezez阅读 625评论 0 0
  • C/C++输入输出流总结 前两天写C++实习作业,突然发现I/O是那么的陌生,打了好长时间的文件都没有打开,今天终...
    LuckTime阅读 1,804评论 0 6
  • 1 “莫林……莫林……………” “臭猫猫!跑哪去了…” 曦晨满屋子的大叫,又气又急。 ...
    芝麻大餅阅读 280评论 0 2

友情链接更多精彩内容