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];
>           ...
> 

Внешняя программа - скрипт. можно, конечно, парсить по-всякому опции в
любой программе, но я готовенькое хотел.

Attachment: signature.asc
Description: PGP signature

Ответить