Использование указателей в структуре typedef, которая содержит строку символов

Проблема была в пути MIBDIRS.

Я следовал за php docs, и он говорит: The Windows distribution of Net-SNMP contains support files for SNMP in the mibs directory. This directory should added to Windows' environment variables, as MIBDIRS, with the value being the full path to the mibs directory: e.g. c:\usr\mibs.

Проблема в том, что я не смог найти c:\usr\mibs на моей net- snmp, поэтому я использовал C:\usr\share\snmp\mibs.

Решение:

Я попытался использовать устройство с поддержкой snmp вместо 127.0.0.1 и запустил snmpget в cli и подтвердил, что установка net-snmp действительно работает. Я решил, что проблема должна быть связана с тем, что php использует для запуска snmp.

Поэтому я использовал where snmpget, чтобы проверить путь к команде, а затем изменил значение среды MIBDIRS с результатом C:\usr\bin\snmpget.exe

1
задан Kevin 19 January 2019 в 18:20
поделиться

1 ответ

svec->v[cur]='\0'; strcat(svec->v,CHG);

Это заменяет char в позиции [cur] на svec-> v char * завершающим нулевым байтом, чтобы использовать на нем strcat.

Из man strcat:

Функция strcat () добавляет строку src к строке dest, перезаписывая завершающий нулевой байт ('\ 0') в конце of dest, а затем добавляет завершающий нулевой байт.

Если у "dest char *" в strcat отсутствует завершающий нулевой байт, поведение strcat непредсказуемо. Это служит безопасностью.

 svec->v[cur]=l->lchar;

Это написано так, потому что «svec» и «l» являются указателями, следовательно, вам нужно использовать их для доступа к их данным.

Надеюсь, это поможет!

0
ответ дан Antoine. F 19 January 2019 в 18:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: