所以我在非托管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将采用字符串。