在C++中处理 CSV 文件
Handling CSV files in C++
我有一个要求,我需要从如下所示的csv文件中搜索产品条形码。
Sr. No.,Product Barcode,Product Description,Discount (%),Price Per Unit
1,011001,TOILET PAPER,5,40
2,011002,BATHING SOAP,0,27
3,011003,MOISTURIZER,3,95
4,011004,SHAMPOO,0,115
5,011005,CONDITIONER,5,155
6,011006,TISSUE,10,60
7,011007,HAIR OIL,0,75
8,011008,HAIR GEL,0,96
9,011009,BODY LOTION,7,195
10,011010,FACE WASH,0,85
当用户输入条形码时,它应该搜索csv文件,并应该选择每单位价格以及折扣并生成账单。这必须在C++实施。在开发的后期阶段,我还需要更新csv文件内容。例如,如果它有一个"数量"列,显示特定产品的库存存在,并且在该产品销售时,我还需要更新csv字段数量。
请指导我如何搜索csv文件并选取字段。我在网上搜索,但找不到满意的答案。
我正在使用流血开发C++。
我能够使用 getline() 提取输入条形码的产品价格并生成账单。
为你们的回应干杯。
我建议使用libpcre
你可以做这样的事情——
#include <iostream>
#include <vector>
#include <string>
#include <pcre++.h>
using namespace std;
using namespace pcrepp;
int main(int argc, char **argv) {
string pat = ",";
vector<string> v;
string s;
Pcre p(pat);
int ctr;
while( getline(cin, s) ) {
v = p.split(s);
vector<string>::iterator i;
for(i=v.begin(),ctr=0;i!=v.end();i++,ctr++) {
if(ctr==2) {
cout << *i << endl;
}
}
}
return 0;
}
我同意这对于提取第二列或第 n 列可能有点过分,但我喜欢这种方法,因为 pcre 在您希望从 CSV 文件中提取的文本方面为您提供了很大的自由。
相关文章:
- 正在将csv文件读取为双精度矢量
- 如何选择在 csv 文件中输出的位置
- 有没有办法在不使用 getline() 的情况下从.csv文件中读取?
- 无法读取C++中的 CSV 文件
- 流:CSV 文件中的换行符
- 如何正确格式化csv文件?
- 正在分析CSV文件-C++
- 如何获取组件和搜索 CSV 文件
- C++ 中的 CSV 文件管理(特别是设置标头和每个标头将分别具有的值)
- 无法逐行读取.csv文件
- 非常快速地阅读 CSV 文件
- 该程序将.csv文件中的一系列单词放入数组中,然后随机生成句子.但它不起作用
- CSV文件之间的差异,使用getline()产生不同的结果
- 将 CSV 文件中的双倍值C++到矢量中
- C++ 将 CSV 文件的列写入向量
- 使用getline读取.csv文件时出现问题
- CSV文件未从缓冲区获取数据
- 错误的值是使用c++从CSV文件数据写入数组
- 将csv文件加载到MySQL C++中
- 读取C++中的大型CSV文件(~4GB)