string转换为BSTR后的遍历

博客展示了将string转换为BSTR后进行遍历的代码。通过Marshal.StringToBSTR方法将字符串转换为BSTR,使用指针遍历每个字符并输出,最后使用Marshal.FreeBSTR释放内存。
    Marshal类对于托管和非托管环境的交互式十分重要的,下面是类型string转换为BSTR后的字符串遍历的示例代码:
 1  static void Main(string[] args)
 2  {
 3      string str = "Hello world";
 4      IntPtr bstr = Marshal.StringToBSTR(str);
 5      IntPtr p = bstr;
 6      char * c;
 7      while (p != (IntPtr)((long)bstr + sizeof(char* str.Length))
 8      {
 9          c = (char*)p;
10          Console.WriteLine(*c);
11          p = (IntPtr)((long)p + sizeof(char));
12      }
13      Marshal.FreeBSTR(bstr);
14  }

转载于:https://www.cnblogs.com/aiya/archive/2005/11/10/273330.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值