26.6. Синтаксический анализ строк аргументов

We use cookies. Read the Privacy and Cookie Policy

26.6. Синтаксический анализ строк аргументов

Хотя библиотека popt обычно используется для синтаксического анализа аргументов, уже разделенных на массив вида argv, в некоторых программах необходимо анализировать синтаксис строк, формат которых идентичен командным строкам. Для этой цели popt предлагает функцию, которая анализирует синтаксис строки в виде массива строки, руководствуясь правилами, подобными обычному синтаксическому анализу в оболочке.

#include <popt.h>

int poptParseArgvString(char * s, int * argcPtr, char *** argvPtr);

Строка s разбирается в массив argv. Целочисленное значение, на которое указывает второй параметр, argcPtr, содержит количество проанализированных элементов, а указатель, на который ссылается последний параметр, указывает на вновь созданный массив. Размещение массива осуществляется динамически; после того как приложение завершит работу с массивом, необходимо вызвать функцию free().

Массив argvPtr, созданный функцией poptParseArgvString(), подходит для прямой передачи функции poptGetContext()[187].