C++/C#结构体转化-传string给C++

此例是把C#结构传给C++

 

C++:

typedef struct VidyoClientInEventGroupChat_

{

    /*! Message (contents) to be sent to all remote participants */

    char message[MAX_CHAT_MESSAGE_LEN];

} VidyoClientInEventGroupChat;

 

 C#:

        [StructLayout(LayoutKind.Sequential)]

        public struct VidyoClientInEventGroupChat

        {

            unsafe fixed byte message[MAX_CHAT_MESSAGE_LEN];

            public unsafe bool SetMessage(string message)

            {

                byte[] bytes = UnicodeStringToUtf8Array(message);

                if (bytes.Length > MAX_CHAT_MESSAGE_LEN)

                {

                    return false;

                }

                fixed (VidyoClientInEventGroupChat* p = &this)

                    for (int i = 0; i < bytes.Length; i++)

                    {

                        p->message[i] = bytes[i];

                    }

                return true;

            }

        };

posted @ 2015-11-10 14:47  acdyf  阅读(1683)  评论(0编辑  收藏  举报