This library is free for any kind of use, including commercial use. It is licensed under the MIT license.

The parser is compatible with Excel and with OpenOffice/LibreOffice Calc, and can parse hard cases of CSV files


Check the Wiki page for usage examples and API

Features

  • A full C API for parsing CSV files
  • Enables reading the file row by row
  • Enables to define which char is the delimiter
  • Enables to decide whether to consider the first row as a header
  • Can parse "hard" cases, such as multiline fields, fields with delimiters and quotes within, and more
  • Enables also parsing from a CSV syntaxed string

Project Activity

See All Activity >

Categories

Data Formats

Follow C/C++ CSV Parser

C/C++ CSV Parser Web Site

Other Useful Business Software
Build Securely on AWS with Proven Frameworks Icon
Build Securely on AWS with Proven Frameworks

Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
Download Now
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
4
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5

User Reviews

  • Nice job! Do not forget to check if row exists before delete it in CsvParser_destroy_row(). Otherwise I've got SEGFAULT with your example.
  • For user `cppfed` : Problem fixed by changing "getHeader()" to return const pointer - only CsvParser destructor has the right to free the header. For user `qghi` : The memory leak issue was fixed in the one of the former releases
  • Memory leak in void CsvParser_destroy_row(CsvRow *csvRow) Must be void CsvParser_destroy_row(CsvRow *csvRow) { ... free(csvRow->fields_); free(csvRow); }
  • nice work! 5 stars for you!
Read more reviews >

Additional Project Details

Intended Audience

Developers

Programming Language

C

Related Categories

C Data Formats Software

Registered

2014-08-22