Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.32. Вспомогательный объект для работы с форматом CSV
А.5.32.20. Команда RDS_CSV_TEXT – весь текст объекта
Команда RDS_CSV_TEXT устанавливает или возвращает весь текст в формате CSV, содержащийся в объекте.
Вызов команды для установки
RDSCSTR sText= … // Текст в формате CSV (UTF8) rdsSetObjectStrA(Csv,RDS_CSV_TEXT,0,sText);
или
RDSWCSTR sText= … // Текст в формате CSV (UTF16) rdsSetObjectStrW(Csv,RDS_CSV_TEXT,0,sText);
или (через функцию-псевдоним)
RDSXCSTR sText= … // Текст в формате CSV (кодировка по умолчанию) rdsSetObjectStr(Csv,RDS_CSV_TEXT,0,sText);
Вызов команды для чтения
RDSCSTR sText=rdsGetObjectStrA(Csv,RDS_CSV_TEXT,0); // UTF8
или
RDSWCSTR sText=rdsGetObjectStrW(Csv,RDS_CSV_TEXT,0); // UTF16
или (через функцию-псевдоним)
RDSXCSTR sText=rdsGetObjectStr(Csv,RDS_CSV_TEXT,0); // Кодировка по умолчанию
Параметры и результат
- Csv (RDS_HOBJECT)
- Идентификатор вспомогательного объекта для работы с CSV, ранее созданного функцией rdsCSVCreate.
- sText (RDSCSTR, RDSWCSTR, RDSXCSTR)
- Указатель на строку, содержащую текст в формате CSV (последовательности текстовых строк с элементами, разделенными запятыми). При получении текста вызовом rdsGetObjectStr этот текст формируется динамически, поэтому после использования он обязательно должен быть освобожден вызовом rdsFree. Если в объекте не содержится ни одного элемента, функция вернет NULL.
Примечания
Эта команда позволяет работать с текстом в формате CSV как с единым целым, не разбивая его на строки, а каждую строку – на отдельные элементы.
Следует помнить, что, поскольку объект хранит текст уже разобранным, для того, чтобы вернуть весь текст, ему приходится заново собирать его из отдельных значений. По этой причине при выполнении команды RDS_CSV_TEXT объект формирует его в динамической памяти, и обязанность освобождения этой памяти вызовом rdsFree лежит на вызвавшей программе.
См. также
rdsCSVCreate, rdsSetObjectStr, rdsGetObjectStr, rdsFree, RDS_CSV_LINE.