On Wed, 30 Sep 2009 09:50:19 +0300 Oleksandr Gavenko <gavenko@bifit.com.ua> wrote: > Денис пишет: > >> Что не сказано в POSIX - есть расширение и не обязано работать > >> везде. > > > > мне именно GNU-расширение интересно > Но говорите > > > > У меня вообще такая ситуация: есть список опций в базе данных и есть > > значения. Мне их надо передать во внешнюю программу. Вот я и > > придумал просто вызывать эту программу с опциями, на ходу > > собранными из записей в БД. Опций немного, строка не переполнится. > > Тогда вам стоит использовать str*/mem* фунции, > которые гарантировано работают с пробелами )) > > for (i = 1; i < argc; i++) { > if (!memcmp("--vid=", argv[i], sizeof("--vid=")-1)) { > char *val = argv[i]; > while (*val++ != '='); > ... > } else if (!strcmp("--vid", argv[i])) { > i++; > val = argv[i]; > ... > Внешняя программа - скрипт. можно, конечно, парсить по-всякому опции в любой программе, но я готовенькое хотел.
Attachment:
signature.asc
Description: PGP signature