Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在V8中字符串化整数?_C++_V8_Embedded V8 - Fatal编程技术网

C++ 如何在V8中字符串化整数?

C++ 如何在V8中字符串化整数?,c++,v8,embedded-v8,C++,V8,Embedded V8,我试图在v8中字符串化一个整数 到目前为止,我最接近成功的方法是使用String::Concat。我尝试过编写这个方法(在node.js 9.11.1本机插件中),但没有编译 void Method(const FunctionCallbackInfo<Value> &args) { Isolate *isolate = args.GetIsolate(); const int num = 42; args.GetReturnValue().Set(

我试图在v8中字符串化一个整数

到目前为止,我最接近成功的方法是使用
String::Concat
。我尝试过编写这个方法(在node.js 9.11.1本机插件中),但没有编译

void Method(const FunctionCallbackInfo<Value> &args) {
  Isolate *isolate = args.GetIsolate();

  const int num = 42;
  args.GetReturnValue().Set(
      String::Concat(String::NewFromUtf8(isolate, "The num is: "),
                      Integer::New(isolate, num)));
}
我还没有找到v8 API的正确部分,可以用来将整数格式化为字符串。我(可能很明显)不熟悉v8api,而且我很难找到好的示例来学习

我是按照这个问题的答案来做的:尽管与现代的v8api相比,它似乎过时了。例如,该示例似乎是预“隔离”的

我的印象是Concat会接受这一点,因为在JavaScript中它只是将int强制为字符串(这似乎是我提到的那个问题的要点)。但我想,在用v8编写代码时,我可能必须明确这一点


我肯定我错过了一些简单的东西。如果有人提出更好的建议,我将不胜感激。

尝试在刚刚创建的
整数上调用
ToString

请参见此处的函数声明:


“JavaScript只是强制INT”的魔法必须在某个地方实现——即,在C++侧,所有这些转换都是手工完成的;p> 太好了。非常感谢。我知道这很容易我还想指出,如果原始数据是C++ int,那么使用C++的工具(代码> SNPINTFF < /C>或任何你喜欢的)来完成转换和字符串汇编,然后,一个单<代码> V8::String 分配,最终会更有效。

'=': cannot convert from 'v8::Integer *' to 'v8::String *volatile '