char* to a string in C#

后端 未结 4 1893
佛祖请我去吃肉
佛祖请我去吃肉 2021-02-14 20:14

I\'m calling a function from a native DLL which returns a char* pointer, how can I convert the returned pointer to a string ? I tried :

char* c = f         


        
4条回答
  •  囚心锁ツ
    2021-02-14 20:32

    Update your P/Invoke declaration of your external function as such:

    [DllImport ( "MyDll.dll", CharSet = CharSet.Ansi, EntryPoint = "Func" )]
    [return : MarshalAs( UnmanagedType.LPStr )]
    string Func ( ... );
    

    This way you won't have to do extra work after you get the pointer.

提交回复
热议问题