Out_Search_Char(DWORD* dwCount,char* outBuffer)以上是C++中的函数,char* outBuffer是在C++中分配内存,并赋值,它得到的是下面这个xml文本<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="/GOTOWEB/Result.Xsl"?>
<DIPS_SERCH_RESULT WEB_SIGN="/GOTOWEB/" BIN_SIGN="/GOTOBIN/" VERSION="3.0" BOOK_SIGN="IQBook:///:/GOTOBIN/">
<SEARCH>
<REPORT>
<COUNT>
29
</COUNT>
<DB_COUNT>
1
</DB_COUNT>
</REPORT>
<EXPRESSION DBID="DEM4" CLASS="" COMMONEXPRESSION="@ALL=的" DICK="0" SORT="0" ALONEEXPRESSION="" />
<PAGE NUM="20" NOW="1" COUNT="2" />
<DATABASE ID="DEM4" NAME="教学参考资源专题库" PAGE_NO="0" COUNT="29" FIELDSORT="" />
</SEARCH>
</DIPS_SERCH_RESULT>请问各位这个char*中的值在C#中怎么转换才能得到上面的xml文本呢?

解决方案 »

  1.   

    指针都用ref关键字,char*就用ref StringBuilder代替即可。
    其实微软还会自动识别,你把DLL文件给项目引用,会自动给你创建类似的C#声明。
      

  2.   

    string和StringBuilder、IntPtr都试了一下,但是都不行啊。
      

  3.   

    string str = new string(XXX)
      

  4.   

    qldsrx(青龙白虎) :谢谢了!
    解决了。我就是没有加ref,我以为StringBuilder默认传进去就是带out的传出参数
    书上是这样写的。默认同时使用In和Out属性啊。