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

nel_h2
Simply solve complex auth. Easy for devs to set up. Easy for non-devs to use. Icon
Simply solve complex auth. Easy for devs to set up. Easy for non-devs to use.

Transform user access with Frontegg CIAM: login box, SSO, MFA, multi-tenancy, and 99.99% uptime.

Custom auth drains 25% of dev time and risks 62% more breaches, stalling enterprise deals. Frontegg platform delivers a simple login box, seamless authentication (SSO, MFA, passwordless), robust multi-tenancy, and a customizable Admin Portal. Integrate fast with the React SDK, meet compliance needs, and focus on innovation.
Start for Free
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