Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.32. Вспомогательный объект для работы с форматом CSV

А.5.32.9. Команда RDS_CSV_LINE – одна строка текста

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.32. Вспомогательный объект для работы с форматом CSV

##### А.5.32.9. Команда RDS_CSV_LINE – одна строка текста

Команда RDS_CSV_LINE устанавливает или возвращает строку текста с указанным номером в указанном объекте (в этой строке содержатся элементы текста, разделенные запятыми).

Вызов команды для установки

      int iStrNum= …       // Номер строки
      RDSCSTR sStrText= …  // Текст строки (UTF8)
      rdsSetObjectStrA(Csv,RDS_CSV_LINE,iStrNum,sStrText);

или

      int iStrNum= …       // Номер строки
      RDSWCSTR sStrText= … // Текст строки (UTF16)
      rdsSetObjectStrW(Csv,RDS_CSV_LINE,iStrNum,sStrText);

или (через функцию-псевдоним)

      int iStrNum= …       // Номер строки
      RDSXCSTR sStrText= … // Текст строки (кодировка по умолчанию)
      rdsSetObjectStr(Csv,RDS_CSV_LINE,iStrNum,sStrText);

Вызов команды для чтения

      int iStrNum= …    // Номер строки
      RDSCSTR sStrText=rdsGetObjectStrA(Csv,RDS_CSV_LINE,iStrNum); // UTF8

или

      int iStrNum= …    // Номер строки
      RDSWCSTR sStrText=rdsGetObjectStrW(Csv,RDS_CSV_LINE,iStrNum); // UTF16

или (через функцию-псевдоним)

      int iStrNum= …    // Номер строки
      RDSXCSTR sStrText=rdsGetObjectStr(Csv,RDS_CSV_LINE,iStrNum); // Кодировка по умолчанию

Параметры и результат

Csv(RDS_HOBJECT)
  Идентификатор вспомогательного объекта для работы с CSV, ранее созданного функцией rdsCSVCreate.
iStrNum(int)
  Номер строки текста, которую нужно установить или получить. Строки нумеруются начиная с нуля.
sStrText(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Указатель на текст строки (набор элементов, разделенных запятыми). При получении текста строки вызовом rdsGetObjectStr этот текст формируется динамически, поэтому после использования он обязательно должен быть освобожден вызовом rdsFree. Если в строке не содержится ни одного элемента, функция вернет NULL.

Примечания

Эта команда позволяет работать с текстом в формате CSV построчно, не разбивая каждую строку на отдельные элементы.

Пример

Следует помнить, что, поскольку объект хранит текст уже разобранным, для того, чтобы вернуть строку с заданным номером, ему приходится заново собирать ее из отдельных значений. По этой причине при выполнении команды RDS_CSV_LINE для получения строки объект формирует ее в динамической памяти, и обязанность освобождения этой памяти вызовом rdsFree лежит на вызвавшей программе.

См. также

rdsCSVCreate, rdsSetObjectStr, rdsGetObjectStr, rdsFree, RDS_CSV_TEXT.