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

Описания RDS

Приложения

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

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

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

А.5.32.1. rdsCSVCreate – создать объект для работы с текстом в формате CSV

# Приложения

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

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

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

Описываются функции и команды вспомогательного объекта RDS, предназначенного для создания и разбора текста в формате CSV, то есть набора текстовых значений, разделенных запятыми.

##### А.5.32.1. rdsCSVCreate – создать объект для работы с текстом в формате CSV

Функция rdsCSVCreate создает вспомогательный объект RDS, с помощью которого можно работать с текстом формата CSV (comma separated values), то есть с текстом, каждая строка которого содержит набор значений, отделенных друг от друга запятой или другим символом-разделителем.

      RDS_HOBJECT RDSCALL rdsCSVCreate(void);

Тип указателя на эту функцию

RDS_HoV

Возвращаемое значение

Уникальный идентификатор созданного объекта (RDS_HOBJECT).

Примечания

Эта функция создает вспомогательный объект, с помощью которого можно как разбирать текст в формате CSV, так и формировать его. Такие тексты удобны для простого хранения различных матриц и списков. Элементами текста, с которыми работает объект, являются строки, поэтому если нужно работать с целыми или вещественными числами, преобразовывать строки в числа и числа в строки нужно вручную. Элементы разделяются запятыми. Если элемент текста содержит пробелы, он должен быть заключен в двойные кавычки, если элемент содержит двойные кавычки, символ двойной кавычки в нем удваивается. Например, текст

      Строка1,"alpha, beta","строка""с""кавычкой", "Строка 2"
      10.0,    20.0,30.0
      1,,"2 3"

будет состоять из следующих элементов:

| Столбец 0 | Столбец 1 | Столбец 2 | Столбец 3
--- | --- | --- | --- | ---
Строка 0 | Строка1 | alpha, beta | строка"с"кавычкой | Строка 2
Строка 1 | 10.0 | 20.0 | 30.0 |
Строка 2 | 1 |  | 2 3 |

При желании, командой RDS_CSV_DELIMITERCHAR вместо запятой можно установить другой символ-разделитель, а командой RDS_CSV_QUOTECHAR заменить на другой символ двойную кавычку, используемую для выделения строк с пробелами.

При разборе текста можно загрузить в объект весь текст из какого-либо файла (команда RDS_CSV_LOADFROMFILE), считывать его из файла построчно (команда RDS_CSV_STRFROMFILE) или передать в объект уже загруженный в память текст (команда RDS_CSV_TEXT). При этом функцией rdsCSVGetItem можно получить элемент текста, находящийся в заданной строке и заданном столбце. При формировании текста можно записывать элементы в заданную строку и столбец текста функцией rdsCSVSetItem, а уже сформированный текст записывать в файл целиком (команда RDS_CSV_SAVETOFILE) или построчно (команда RDS_CSV_STRTOFILE), а также получать его динамически сформированную копию (команда RDS_CSV_TEXT).

Созданный вспомогательный объект будет существовать до тех пор, пока схема не будет выгружена из памяти, или пока он не будет удален вызовом функции rdsDeleteObject.

Пример

Пример использования функции rdsCSVCreate приведен в §2.16.2 руководства программиста.

См. также

Вспомогательные объекты, rdsDeleteObject.