Подтвердить что ты не робот

Какая предпочтительная библиотека для синтаксического анализа/записи CSV на С++?

Я видел эту тему: Как читать и анализировать CSV файлы на С++?

но кажется глупым изобретать колесо для чего-то универсального, как парсер CSV. У Boost есть некоторые подпрограммы, которые облегчают разбор, но не имеют ничего из коробки.

В другом месте я вижу рекомендуемые библиотеки, привязанные к .NET или другие платформы. Трудно поверить, что нет никакой предпочтительной открытой библиотеки С++, чтобы что-то сделать для этой процедуры.

Любые рекомендации?

4b9b3361

Ответ 1

Нет никакой "предпочтительной" библиотеки для синтаксического анализа CSV, потому что меньше усилий писать собственный синтаксический анализатор на С++, чем загружать некоторую библиотеку, читать, как ее использовать, связывать ее с вашим кодом, потенциально сталкиваться с некоторыми ошибками, изменять код на удовлетворить ваши потребности и т.д. Разбор CSV тривиален, вам нужно сделать три вещи:

  • Определить разделитель полей.
  • Определить разделитель строк.
  • Пропустить разделители, которые находятся внутри кавычек.

Также есть проблема с кодировкой файлов, какие разделители вы хотите использовать, дополнительные пробелы и пустые строки в файле и т.д.

Если вы все еще хотите использовать "предпочтительный" CSV-парсер, возможно, вам следует полностью пропустить кодировку на С++ и перейти на другой язык.