如何在C中查找unsigned char*的长度

6 c char

我有一个变量

unsigned char* data = MyFunction();
Run Code Online (Sandbox Code Playgroud)

如何找到数据的长度?

Dar*_*mas 9

您必须从中传递数据的长度MyFunction.此外,请确保您知道谁分配内存以及谁必须解除分配内存.这有各种各样的模式.我经常看到:

int MyFunction(unsigned char* data, size_t* datalen)
Run Code Online (Sandbox Code Playgroud)

然后你分配数据并传入datalen.结果(int)应该表明你的缓冲区(数据)是否足够长......

  • 不,他正在回过头来.缓冲区由调用者分配并传递给函数. (2认同)

ken*_*nny 6

假设它是一个 string

length = strlen( char* );
Run Code Online (Sandbox Code Playgroud)

但它似乎并没有被...所以没有办法具有该功能返回的长度.