所以我在非托管c++中有一个函数,当某些文本碰巧“到达”时被调用:

#using <MyParser.dll>
...
void dump_body(const unsigned char *Body, int BodyLen)
{
  // Need to pass the body to DumpBody, but as what type?
     ...
  MyParser::Parser::DumpBody(???);
}

DumpBody是C#DLL中定义的静态函数,应采用一个类型的参数?

正文包含一个长度为BodyLen的字符(文本)数组。

很显然,这里需要进行一些编码工作,但我不知道该如何做。

请帮忙。

最佳答案

void dump_body(const unsigned char *body, int bodyLen)
{
    // you might want a different encoding...
    String ^str = gcnew String((sbyte*)body, 0, bodyLen, gcnew ASCIIEncoding);
    MyParser::Parser::DumpBody(str);
}

DumpBody将采用字符串。

10-08 12:46