Похоже, что libcsv не использует строковые функции C для своей работы, поэтому он работает практически из коробки, несмотря на незнание mbcs / ws.Он обрабатывает строку как массив байтов с явной длиной.Это может в основном работать для определенных кодировок широких символов, которые дополняют байты ASCII для заполнения ширины (поэтому символ новой строки может быть закодирован как «\ 0 \ n», а пробел - как «\ 0»).Вы также можете закодировать ваши широкие данные как UTF-8, что должно немного облегчить задачу.Но оба подхода могут основываться на том, как libcsv идентифицирует пробелы и маркеры-разделители строк: он ожидает, что вы сообщите ему по байт-байту, смотрит ли он на пробел или терминатор, который не допускает многобайтовое кодирование пространства / термина,Вы можете исправить это, изменив библиотеку так, чтобы она передавала указатель на строку и длину, оставленную в строке, для ее функций тестирования пробела / члена, что было бы довольно просто.