Длина envp в C - PullRequest
       9

Длина envp в C

8 голосов
/ 11 августа 2011

В процессе изучения C я пытаюсь написать программу, которая принимает одну из переменных среды в качестве входных данных и выводит ее значение.

Вопрос в том, есть ли способ узнать длину envp? Я имею в виду, сколько есть envp? Я знаю, что это символ ** - массив строк. И найти размер массива в C уже проблематично . Что я могу сделать, чтобы узнать размер envp?

Пожалуйста, укажите направление, а не конкретный ответ (или код).

Ответы [ 3 ]

5 голосов
/ 11 августа 2011

Завершается указателем NULL.Вы должны посчитать это, если хотите узнать длину.

2 голосов
/ 11 августа 2011

Вы должны посмотреть на getenv(). Он более переносим, ​​чем манипулирует envp, потому что такие среды, как plan9, реализуют среду по-разному, сохраняя поведение этой функции.

2 голосов
/ 11 августа 2011

значение argv[argc] == NULL, которое должно дать вам подсказку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...