gpt4 book ai didi

c++ - Node 缓冲区到字符数组

转载 作者:行者123 更新时间:2023-11-30 00:49:26 26 4
gpt4 key购买 nike

我有一个原生 NodeJS 插件,它接受一个 Buffer 实例作为它的参数之一。

我可以使用以下代码将 char 数组转换为 Buffer,但我正在寻找其他方法。

static v8::Local<v8::Object> create_buffer(char *data, unsigned long length) {
node::Buffer *slow_buffer = node::Buffer::New(length);
memcpy(node::Buffer::Data(slow_buffer), data, length);

v8::Handle<v8::Value> constructor_arguments[3] = {
slow_buffer->handle_,
v8::Integer::New(length),
v8::Integer::New(0)
};

v8::Local<v8::Object> global_object = v8::Context::GetCurrent()->Global();
v8::Local<v8::Function> buffer_constructor = v8::Local<v8::Function>::Cast(global_object->Get(v8::String::New("Buffer")));

return buffer_constructor->NewInstance(3, constructor_arguments);
}

最佳答案

也许我来晚了,但下面的代码应该可以工作:

#include <node.h>
#include <node_buffer.h>

void Test(const FunctionCallbackInfo<Value>& args)
{
Local<Object> bufferObj = args[0]->ToObject();
char* bufferData = node::Buffer::Data(bufferObj);
size_t bufferLength = node::Buffer::Length(bufferObj);
}

引用:

关于c++ - Node 缓冲区到字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28171481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com