Навигация:
<< >> Оглавление Указатель

Приложения

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

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

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

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

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

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

    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.


<< >> Оглавление Указатель