Денис пишет:
Что не сказано в 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]; ... -- С уважением, Александр Гавенко.