VC读到VB6传送的BSTR字符串如何转换为Char[]类型呢?谢谢!

解决方案 »

  1.   

    VB里的字符串本身就是BSTR格式,所以没有必要转换LPSTR到BSTR的转换:dim chars() as Bytechars=StrConv(bstr, vbFromUnicode)
      

  2.   

    你声名api的时候用 byval str as string 
    vb调用的时候会跟你转换
    declare sub "aaa" lib "youdll.dll" (byval str as string)dim str as string 
    str = "abcd"
    call aaa("abcd")  '这里vb帮你转换了..如果你声名成byval .. as string  的形式.
    void __stdcall aaa(char * pstr)
    {
       MessageBox(0, pstr, 0, 0);
    }显示为"abcd"