zoukankan      html  css  js  c++  java
  • string 转 char* (C#)

       C#中要指针首先要把类或者函数声明为unsafe,本例中用的金迪的vc动态函数库,

       如 :

          [DllImport("JindiSMS.dll")]

          unsafe  public static extern int ATCommand (char* ATCmd,char* result);

          功能描述:

      向串口发送 AT 指令, 获得响应结果 参数说明: ATCmd

      指令字符串, result 返回的结果字符串

      返回值: 0 失败

      1 成功

    在C#中调用时传参函数 :

      //发送AT指令

    private unsafe void btnSendATCom_Click(object sender, EventArgs e)
            {
                string result = string.Empty;
                string atCmd = this.txtATCom.Text.Trim() + "/r";
                char* p = (char*)System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(atCmd).ToPointer();
                char* q = (char*)System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(result).ToPointer();
                int i = SetPort.ATCommand(p, q);
                if (i == 1)
                {
                    txtRestAt.Text = Convert.ToString(Marshal.PtrToStringAnsi((IntPtr)q));
                }
                else
                {

                    txtRestAt.Text = "错误";

                }
            }

     

  • 相关阅读:
    【并查集】连接格点C++
    【拓扑排序】威虎山上的分配C++
    CF39D Cubical PlanetC++
    【拓扑排序】排队C++
    [USACO09OCT]Invasion of the Milkweed】乳草的侵占C++
    免杀常用手段
    DELPHI 线程类
    动态注册OCX
    DELPHI 常用文件路径
    套接字(TCP)
  • 原文地址:https://www.cnblogs.com/xinting/p/12536205.html
Copyright © 2011-2022 走看看