不是我想你用VC的是myfunc(char[])
而C#的应该是myfunc(string)

解决方案 »

  1.   

    不是的,vc中我就是myfunc(LPSTR string1)这么处理的。
    c#中就是myfunc(string),高手,帮忙解决一下。分不多,实在是没办法,
    我自己的分少的可怜
      

  2.   

    如果dll那边没有用UNICODE可能会有问题,C#传过去的值是UNICODE的。这样323435就是0x330x000x320x00...
    如果这样,C#这边你就要指定用Ansi方式编排参数
    用[MarshalAs(UnmanagedType.LPStr)]指定
      

  3.   

    to liuto:
      谢谢了,问题就在这里了。分数不多,笑纳。
      

  4.   

    哦,又出来一个问题,返回值的时候怎么设定?返回的时候现在是什么值都没有了。是不是直接在vc++里面可以用Unicode,怎么设定?没办法,我实在太弱了,高手指教。
      

  5.   

    如果要做返回的话,用StringBuilder。