2015-06-18 4 views
2

C++ Мой node.js код делает это:node.js аддон - как передать параметр строкового (нан)

var MyMQ = require('./build/release/mqconn') ; 
var MyQmgrName = 'QM_CNT' ; // req.params.qmgrname ; 
MyMQ.connect (MyQmgrName, function (err, result) { 

И мой C++ код (uning нан) хочет получить первый параметр строки:

NAN_METHOD(MQ_Connect) { 

    NanScope(); 
    Local<Value> szQMN(args[ 0 ]); 
    printf("(cc)>>>> qmn [%s].\n", szQMN) ; 

... но я получаю мусор.

Любая подсказка о том, что я делаю неправильно? Себастьян.

ответ

4

Прежде всего, вы должны в целом проверить свои аргументы. Затем вы можете получить строку, вызвав ToString() по аргументу. Например:

NAN_METHOD(MQ_Connect) { 
    NanScope(); 

    if (args.Length() > 0) { 
    if (args[0]->IsString()) { 
     String::Utf8Value str(args[0]->ToString()); 
     printf("(cc)>>>> qmn [%s].\n", (const char*)(*str)); 
    } 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^