void HikTest::testAbsoluteEx() { char* url; char* inBuf; sprintf(url, "GET /ISAPI/PTZCtrl/channels/%ld/absoluteEx\r\n", this->lChannel); strcpy(inBuf, ""); this->testAbsoluteEx(url, inBuf); }
时间: 2024-03-27 20:40:53 浏览: 40
libiconv.zip_Linux/Unix编程_LINUX_
这段代码的问题在于,你没有为url和inBuf分配内存,导致在sprintf和strcpy函数操作时会发生未定义行为。你需要使用malloc或new等函数为url和inBuf分配足够的内存空间,例如:
```
void HikTest::testAbsoluteEx() {
char* url = new char[100];
char* inBuf = new char[1000];
sprintf(url, "GET /ISAPI/PTZCtrl/channels/%ld/absoluteEx\r\n", this->lChannel);
strcpy(inBuf, "");
this->testAbsoluteEx(url, inBuf);
delete[] url;
delete[] inBuf;
}
```
这里我们假设url最大长度为100,inBuf最大长度为1000。注意,在使用完url和inBuf后需要使用delete[]操作符释放掉为它们分配的内存空间。
阅读全文