Я, вероятно, делаю что-то глупое здесь, но я давно не работал на С++, и по какой-то причине я продолжаю получать нарушение прав доступа при вызове sprintf. В любом случае, вот код, который я использую:
char *value, *result;
int len;
result = "";
mgr.GetObjValue(0, value, len);
for (int i = 0; i < len; i++)
{
sprintf(result, "%s %X", result, value[i]);
}
printf("ObjVal: %s\n\n", result);
если кому-то интересно, что делает GetObjValue, он просто извлекает значение объекта SNMP из API, который я использую. Вот его декларация:
int SNMPMgr::GetObjValue(int iObjIndex, char *&lpObjValue, int &lenObjValue);
Любая помощь приветствуется
result
указывает на статическую память… - person filmor   schedule 29.11.2012result = ""
- Во всяком случае, это буквальный, как говорит Алс - это приводит к неопределенному поведению для его изменения. - person user93353   schedule 29.11.2012