我需要打印内存和缓冲区的大小吗?
他们是另一种方式吗?
size_t len;
len = strlen(input);
printf("******************len is : %d\n", len)
我刚刚编辑了我的问题,其中“输入”实际上是“缓冲区”
答案 0 :(得分:0)
您可以使用来自redis的自定义malloc方法
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void* zmalloc(size_t size) {
void* ptr = malloc(size + sizeof(size_t));
*((size_t*)ptr) = size;
return ptr + sizeof(size_t);
}
size_t zmalloc_size(void* ptr) {
void* real_ptr = ptr - sizeof(size_t);
return *((size_t*)real_ptr);
}
int main() {
void* ptr = zmalloc(100);
printf("%zu", zmalloc_size(ptr));
}