Плохо ли перебирать (модифицировать) envp?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Плохо ли перебирать (модифицировать) envp?

Сообщение Anonymous »

Вот как выглядит моя основная функция. Он проходит через envp и помещает ключи и значения в карту для дальнейшего использования:

Код: Выделить всё

while (*++envp)
{
std::string envVarStr = *envp;
size_t delimiterPos = envVarStr.find('=');

// Skip if there's no delimiter
if (delimiterPos == std::string::npos)
continue;

// Parse out what's around the delimiter
std::string key = envVarStr.substr(0, delimiterPos);
std::string value = envVarStr.substr(delimiterPos + 1);
app->env[key] = value;
}
Этот код был частично создан искусственным интеллектом, но в основном в исходной версии использовался такой цикл for:

Код: Выделить всё

for (char** env = envp; *env != nullptr; ++env)...
Итак, является ли моя альтернативная версия, которая изменяет сам envp, хорошей практикой? Или переменная используется для чего-то другого?
После этого envp вообще не используется.

Подробнее здесь: https://stackoverflow.com/questions/798 ... g-envp-bad
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»