26.6. Синтаксический анализ строк аргументов
26.6. Синтаксический анализ строк аргументов
Хотя библиотека popt обычно используется для синтаксического анализа аргументов, уже разделенных на массив вида argv, в некоторых программах необходимо анализировать синтаксис строк, формат которых идентичен командным строкам. Для этой цели popt предлагает функцию, которая анализирует синтаксис строки в виде массива строки, руководствуясь правилами, подобными обычному синтаксическому анализу в оболочке.
#include <popt.h>
int poptParseArgvString(char * s, int * argcPtr, char *** argvPtr);
Строка s разбирается в массив argv. Целочисленное значение, на которое указывает второй параметр, argcPtr, содержит количество проанализированных элементов, а указатель, на который ссылается последний параметр, указывает на вновь созданный массив. Размещение массива осуществляется динамически; после того как приложение завершит работу с массивом, необходимо вызвать функцию free().
Массив argvPtr, созданный функцией poptParseArgvString(), подходит для прямой передачи функции poptGetContext()[187].