2012-12-07 4 views
0

아래 표시된 csv 파일에서 제품 바코드를 검색해야하는 경우가 있습니다.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 파일 내용을 업데이트해야합니다. 예를 들어 특정 제품의 재고 유무를 보여주는 'Quantity'열이 있고 해당 제품이 판매 될 때 CSV 필드 수량도 업데이트해야합니다.

csv 파일을 검색하고 필드를 선택하는 방법을 안내해주십시오. 나는 그물을 수색했지만 만족스러운 답을 찾을 수 없었다.

Bloodshed Dev C++을 사용하고 있습니다.

+6

whathaveyoutried.com –

+0

여기에 문자열 (각 파일 줄)을 토큰 화하는 방법에 대한 예제가 많이 있습니다. http://stackoverflow.com/questions/53849/how-do-i-tokenize-a-string- in-c 그런 다음 필요한 경우 관련 토큰을 정수로 변환하면됩니다. – goji

+0

로딩 및 검색은 쉽습니다. 쉽게 업데이트 할 수 있습니다. 현재 위치에서 업데이트 중입니다. 상당히 더 많은 일. 처음 두 가지에 대해 unordered_map을 고려하십시오. 세 번째는 가능하다면 피해야합니다. – WhozCraig

답변

0

입력 한 바코드의 제품 가격을 추출하고 getline()을 사용하여 계산서를 생성 할 수 있습니다.

환호성 사람들이 거주합니다.

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 파일에서 추출하려는 텍스트의 관점에서 많은 자유를 제공합니다.