110,539
社区成员
发帖
与我相关
我的任务
分享
typedef struct ProClass
{
char* ProClassName;//产品类型
char* ProClassRegDate;//产品类型添加时间
ProClass* next;
}ProClass,*ProClassLink;
//添加产品类
void AddProClass(ProClass proclass)
{
FILE* fp;
fp=fopen("ProClass.txt","ab");
fprintf(fp,"%s %s",proclass.ProClassName,proclass.ProClassRegDate);
fclose(fp);
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct ProClass
{
[System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)]
public string ProClassName;
[System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)]
public string ProClassRegDate;
public System.IntPtr next;
}
[DllImport("linklist.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
private extern static void AddProduct(LinkList product);
public static void AddProClass(string ProClassName)
{
ProClass proclass = new ProClass();
proclass.ProClassName = ProClassName;
proclass.ProClassRegDate = GetTime();
proclass.next = IntPtr.Zero;
AddProClass(proclass);
}
[DllImport("linklist.dll", CharSet = CharSet.Ansi, CallingConvention=CallingConvention.Cdecl)]
private extern static void AddProClass(ProClass proclass);
void AddProClass(ProClass* proclass)
{
FILE* fp;
fp=fopen("ProClass.txt","ab");
fprintf(fp,"%s %s",proclass->ProClassName,proclass->ProClassRegDate);
fclose(fp);
}
C#的
[DllImport("linklist.dll", CharSet = CharSet.Ansi, CallingConvention=CallingConvention.Cdecl)] private extern static void AddProClass([In,Out]ref IntPtr proclass);
public static void AddProClass(string ProClassName)
{
ProClass proclass = new ProClass();
proclass.ProClassName = ProClassName;
proclass.ProClassRegDate = GetTime();
proclass.next = IntPtr.Zero;
IntPtr ip = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(ProClass)));
Marshal.StructureToPtr(list, ip, true);
AddProClass(ref ip);
}