C/C++编程

c/c++读写cvs文件

2019-06-11  本文已影响0人  雨幻逐光

CSV文件概念(引用自百度百科):逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。

通过以上介绍,我们可以知道CSV是用逗号做分割符的文件。因此可以用读写文件的方法来操作它。

代码

#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <sstream>
 
using namespace std;
 
 
int main()
{
    // 写文件
    ofstream outFile;
    outFile.open("data.csv", ios::out); // 打开模式可省略
    outFile << "name" << ',' << "age" << ',' << "hobby" << endl;
    outFile << "Mike" << ',' << 18 << ',' << "paiting" << endl;
    outFile << "Tom" << ',' << 25 << ',' << "football" << endl;
    outFile << "Jack" << ',' << 21 << ',' << "music" << endl;
    outFile.close();
 
    // 读文件
    ifstream inFile("data.csv", ios::in);
    string lineStr;
    vector<vector<string>> strArray;
    while (getline(inFile, lineStr))
    {
        // 打印整行字符串
        cout << lineStr << endl;
        // 存成二维表结构
        stringstream ss(lineStr);
        string str;
        vector<string> lineArray;
        // 按照逗号分隔
        while (getline(ss, str, ','))
            lineArray.push_back(str);
        strArray.push_back(lineArray);
    }
    
    getchar();
    return 0;
}

以上代码转自:
作者:踏莎行hyx
来源:CSDN
原文:https://blog.csdn.net/u012234115/article/details/64465398

上一篇 下一篇

猜你喜欢

热点阅读