Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. CsvTable * CsvTable_newFromString(const char * csvString){
  2. if(!csvString)
  3. ErrorMessage("Error: NULL pointer in CsvTable_newFromString()");
  4.  
  5. CsvTable * t = CsvTable_new();
  6. CsvRow * row = CsvRow_new();
  7.  
  8. StringBuffer * value = StringBuffer_new();
  9. while(1){
  10. char ch = * csvString;
  11. if(ch == '\0'){
  12. char * newValue = StringBuffer_toNewString(value);
  13. CsvRow_add(row, newValue);
  14. StringBuffer_clear(value);
  15. //
  16. CsvTable_add(t, row);
  17. row = CsvRow_new();
  18. break;
  19. } else if(ch == '\n') {
  20. char * newValue = StringBuffer_toNewString(value);
  21. CsvRow_add(row, newValue);
  22. StringBuffer_clear(value);
  23. //
  24. CsvTable_add(t, row);
  25. row = CsvRow_new();
  26. } else if(ch == ',') {
  27. char * newValue = StringBuffer_toNewString(value);
  28. CsvRow_add(row, newValue);
  29. StringBuffer_clear(value);
  30. } else {
  31. StringBuffer_appendChar(value, ch);
  32. }
  33. csvString++;
  34. }
  35. StringBuffer_free(value);
  36. return t;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement