43 lines
1.1 KiB
Markdown
43 lines
1.1 KiB
Markdown
# csvpp
|
|
|
|
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:
|
|
|
|
```cs
|
|
#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;
|
|
|
|
}
|
|
``` |