A csv reader/writer in C++ using standard objects.
Features:
- Read from a file or string
- Support for optionally enclosed elements (using " as the enclosure )
- Easy to iterate through the rows
- Associative arrays which allow accessing by the column name!
- Optionally - RowReader has two optional constructor parameter, first is a bool which determines if it should use headers and second is the newline delimeter. The default is true (use headers) and \n for newline
- Automatically adjusts for \n or \r\n
Here is a very simple example using a string:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <iostream> #include <sstream> #include "csvpp.h" using namespace std; using namespace csvpp; int main() { RowReader tmp; //RowWriter rw; stringstream ss; ss << "field1,field2,field3\r\n123,234,345\r\n999,000,111\r\n" ; ss >> tmp; rowiterator it; while (ss << tmp) { for (it = tmp.begin(); it != tmp.end(); it++) cout << it->first << " => " << it->second << endl; cout << endl; } //cout << rw; return 0; } |