Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CsvTable * CsvTable_newFromString(const char * csvString){
- if(!csvString)
- ErrorMessage("Error: NULL pointer in CsvTable_newFromString()");
- CsvTable * t = CsvTable_new();
- CsvRow * row = CsvRow_new();
- StringBuffer * value = StringBuffer_new();
- while(1){
- char ch = * csvString;
- if(ch == '\0'){
- char * newValue = StringBuffer_toNewString(value);
- CsvRow_add(row, newValue);
- StringBuffer_clear(value);
- //
- CsvTable_add(t, row);
- row = CsvRow_new();
- break;
- } else if(ch == '\n') {
- char * newValue = StringBuffer_toNewString(value);
- CsvRow_add(row, newValue);
- StringBuffer_clear(value);
- //
- CsvTable_add(t, row);
- row = CsvRow_new();
- } else if(ch == ',') {
- char * newValue = StringBuffer_toNewString(value);
- CsvRow_add(row, newValue);
- StringBuffer_clear(value);
- } else {
- StringBuffer_appendChar(value, ch);
- }
- csvString++;
- }
- StringBuffer_free(value);
- return t;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement