使用C#拷贝String到struct

类别:.NET开发 点击:0 评论:0 推荐:

使用C#拷贝Stringstruct

By dgiljr

介绍

本文介绍使用C#拷贝Stringstruct 

代码

using System;
using System.Runtime.InteropServices;
using System.Text;
 
class Class1
{
 
    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
    public struct MyStruct
    {
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst=4)] public string fname;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst=4)] public string lname;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst=7)] public string phone;
    }
    
    public static void Main()
    {
        string buffer = "abcdefgh2223333";
        IntPtr pBuf = Marshal.StringToBSTR(buffer);
        MyStruct ms = (MyStruct)Marshal.PtrToStructure(pBuf,typeof(MyStruct));
        Console.WriteLine("fname is: {0}",ms.fname);
        Console.WriteLine("lname is: {0}",ms.lname);
        Console.WriteLine("phone is: {0}",ms.phone);
    }
}

 

From

http://www.codeproject.com/csharp/gil_structs.asp

 

 

                                                                                          [email protected]

                          http://home.ripway.com/2004-6/124912/

本文地址:http://com.8s8s.com/it/it44692.htm