00001
00002
00004
00005 #if !defined(AFX_CSVPARSE_H__A5DED40F_C9D8_4B26_9333_14BF8D583637__INCLUDED_)
00006 #define AFX_CSVPARSE_H__A5DED40F_C9D8_4B26_9333_14BF8D583637__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012
00013
00014
00015
00016 #include <iostream>
00017 #include <fstream>
00018 #include <algorithm>
00019 #include <string>
00020 #include <vector>
00021
00022 using namespace std;
00023
00026 class CCSVParse {
00027
00028
00029 public:
00030 void CloseFile();
00031 bool OpenFile(string inFile, string sep);
00032 CCSVParse();
00033 virtual ~CCSVParse();
00034
00035 int getline(string&);
00036 string getfield(int n);
00037 int getnfield() const { return nfield; }
00038
00039 private:
00040 ifstream fin;
00041 string line;
00042 vector<string> field;
00043 int nfield;
00044 string fieldsep;
00045
00046 int split();
00047 int endofline(char);
00048 int advplain(const string& line, string& fld, int);
00049 int advquoted(const string& line, string& fld, int);
00050 };
00051
00052
00053 #endif // !defined(AFX_CSVPARSE_H__A5DED40F_C9D8_4B26_9333_14BF8D583637__INCLUDED_)