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
Compliant and Reliable File Transfers Backed by Top Security Certifications Icon
Compliant and Reliable File Transfers Backed by Top Security Certifications

Cerberus FTP Server delivers SOC 2 Type II certified security and FIPS 140-2 validated encryption.

Stop relying on non-certified, legacy file transfer tools that creak under the weight of modern security demands. Get full audit trails, advanced access controls and more supported by an award-winning team of experts. Start your free 25-day trial today.
Start Free Trial
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