On Wed, 30 Sep 2009 09:50:19 +0300 Oleksandr Gavenko <[email protected]> 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];
> ...
>
Внешняя программа - скрипт. можно, конечно, парсить по-всякому опции в
любой программе, но я готовенькое хотел.
signature.asc
Description: PGP signature

