小编abr*_*rar的帖子

随机填写数据库

我需要生成我的sql server 2005数据库来测试多线程应用程序.它至少必须超过3 GB.

database sql-server

1
推荐指数
1
解决办法
48
查看次数

编组包含字符串的结构

我基本上想要从c#中的用户获取int name和string age并将其发送到用c编写的dll方法,其中包含int和char [50]参数并返回字符串.i创建以下场景但我失败了,任何正文都有代码

我有一个在c开发的dll,它有一个结构

struct Argument 
{
int age;
char name[50];
} ;
Run Code Online (Sandbox Code Playgroud)

和方法

extern "C"
{
    __declspec(dllexport) Argument FillData(Argument data)
 {
        Argument mydata;

        mydata.age=data.age;
        for(int i=0;i<=sizeof(data);i++)
        {
            mydata.name[i]=data.name[i];

        }
        return mydata;

 }
Run Code Online (Sandbox Code Playgroud)

我在Cs_dll.cs中的c#中声明它

[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi)]
    public struct Argument
    {
        public int age;
        [MarshalAs(UnmanagedType.TBStr)]
        //public char name;
       public char[] name;

    };
  public  class Cs_Dll
    {
      [DllImport("TestLib.dll")]
            public static extern Argument FillData (Argument data);


    }
Run Code Online (Sandbox Code Playgroud)

现在再按一个按钮我想做

 private void button1_Click(object sender, EventArgs e)
        {
            Argument data=new Argument();
            data.age=Convert.ToInt32(textBox_age.Text);
            char[] name={'a','b','r','a','r', ' ', …
Run Code Online (Sandbox Code Playgroud)

c c# pinvoke interop struct

1
推荐指数
2
解决办法
1万
查看次数

标签 统计

c ×1

c# ×1

database ×1

interop ×1

pinvoke ×1

sql-server ×1

struct ×1