Реализация на C++
Несколько меньше изменений потребуется вносить в endofline. Нам точно так же придется считывать ввод посимвольно, поскольку ни одна из стандартных функций ввода не может обработать все многообразие вариантов.
А вот как выглядит новая версия функции split:
Поскольку strcspn не работает со строками C++, нам надо изменить и split, и advquoted. Новая версия advquoted для поиска следующего вхождения символа-разделителя использует стандартную С++-функцию find_first_of. Вызов s.find_first_of (fieldsep, j) ищет в строке s первое вхождение любого символа из fieldsep, начиная с позиции ]. Если вхождение найдено не было, возвращается индекс, лежащий за концом строки, так что нам надо будет вернуть его обратно в должный диапазон.