0

我有一个要求,我需要从下面显示的 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 文件并选择字段。我在网上搜索但找不到满意的答案。

我正在使用 Bloodshed Dev C++。

4

2 回答 2

0

I am able to extract the product price for entered barcode and generate the bill, using getline().

Cheers Guys for ur resposes.

于 2012-12-07T10:04:28.543 回答
0

我建议使用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 文件中提取的文本方面为您提供了很大的自由。

于 2012-12-08T20:23:30.657 回答