В программе на C ++ я пытаюсь прочитать данные из базы данных MSSQL с помощью OLE DB.Столбец, который я пытаюсь прочитать, относится к типу VARCHAR.Данные в столбце импортируются из многозначной базы данных.Иногда данные в столбце содержат разделитель.Разделитель - это маркер значения (0Xfd).Я преобразую данные, считанные из таблицы, в символ *, например:
retcode = WideCharToMultiByte(CP_UTF8, 0, (WCHAR*)pDBColumnAccess[nCol].pData, -1, (char *)pReadBuf, pDBColumnAccess[nCol].cbDataLen, NULL, NULL);
Все хорошо, если данные не содержат вышеупомянутый маркер значения разделителя (0xfd).Но когда есть разделитель, в преобразованных данных маркер значения заменяется некоторыми ненужными символами.
Разве я не должен делать преобразование в char * в случае VARCHAR?Достаточно ли просто скопировать данные без каких-либо покрытий?